{
// find count of IP addr
ipaddr_listcopy = strdup(ipaddr_list);
- char *token = strtok(ipaddr_listcopy, ",");
- while (token != NULL)
+ char *str = ipaddr_listcopy;
+ char *token = NULL;
+ while ((token = strtok_r(str, ",", &str)))
{
- token = strtok(NULL, ",");
count++;
}
{
// Parse IP address
ipaddr = (char**) malloc(sizeof(char *) * count);
- token = strtok(ipaddr_list, ",");
- while (token != NULL)
+ str = ipaddr_list;
+ token = NULL;
+ while ((token = strtok_r(str, ",", &str)))
{
char *addr = (char*) malloc(sizeof(char) * (strlen(token) + 1));
if (addr)
ipaddr[num_ip] = addr;
num_ip++;
}
- token = strtok(NULL, ",");
}
}
free(ipaddr_listcopy);