X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Futilities.c;h=4f5b4526d979670566f3941f37ffdd13977ae3ba;hb=57408dce015f0d55d7c0f99113567d9d5e89618d;hp=ce6cd925bdc76d566ca15d4a5243d71102e32a47;hpb=ca065f55235fd9979ede818963780f417d70c64e;p=m6w6%2Flibmemcached diff --git a/src/utilities.c b/src/utilities.c index ce6cd925..4f5b4526 100644 --- a/src/utilities.c +++ b/src/utilities.c @@ -1,8 +1,6 @@ +#include #include -static char **cleanup_list= NULL; -static char cleanup_list_length= 0; - void parse_opt_servers(memcached_st *memc, char *server_strings) { @@ -11,28 +9,30 @@ void parse_opt_servers(memcached_st *memc, char *begin_ptr; char *end_ptr; - end_ptr= server_strings + strlen(server_strings); - assert(server_strings); assert(memc); + end_ptr= server_strings + strlen(server_strings); + for (begin_ptr= server_strings, string= index(server_strings, ','); - begin_ptr == end_ptr; - begin_ptr= ++string, string= index(begin_ptr, ',')) + begin_ptr != end_ptr; + string= index(begin_ptr, ',')) { char buffer[HUGE_STRING_LEN]; char *ptr; + port= 0; memset(buffer, 0, HUGE_STRING_LEN); if (string) { memcpy(buffer, begin_ptr, string - begin_ptr); + begin_ptr= string+1; } else { - size_t length= strlen(server_strings); + size_t length= strlen(begin_ptr); memcpy(buffer, begin_ptr, length); - string= server_strings+length; + begin_ptr= end_ptr; } ptr= index(buffer, ':'); @@ -44,34 +44,11 @@ void parse_opt_servers(memcached_st *memc, ptr++; port= strtol(ptr, (char **)NULL, 10); - - memcached_server_add(memc, buffer, port); } - else - { - memcached_server_add(memc, buffer, 0); - } - } -} -void cleanup(void) -{ - unsigned int x; - for (x= 0; x < cleanup_list_length; x++) - free(cleanup_list[x]); + memcached_server_add(memc, buffer, port); - free(cleanup_list); -} - -char *strdup_cleanup(const char *str) -{ - char *ptr; - - ptr= strdup(str); - - cleanup_list= (char **)realloc(cleanup_list, sizeof(char *) * (cleanup_list_length+1)); - cleanup_list[cleanup_list_length]= ptr; - cleanup_list_length++; - - return ptr; + if (isspace(*begin_ptr)) + begin_ptr++; + } }