ce6cd925bdc76d566ca15d4a5243d71102e32a47
3 static char **cleanup_list
= NULL
;
4 static char cleanup_list_length
= 0;
6 void parse_opt_servers(memcached_st
*memc
,
14 end_ptr
= server_strings
+ strlen(server_strings
);
16 assert(server_strings
);
19 for (begin_ptr
= server_strings
, string
= index(server_strings
, ',');
21 begin_ptr
= ++string
, string
= index(begin_ptr
, ','))
23 char buffer
[HUGE_STRING_LEN
];
26 memset(buffer
, 0, HUGE_STRING_LEN
);
29 memcpy(buffer
, begin_ptr
, string
- begin_ptr
);
33 size_t length
= strlen(server_strings
);
34 memcpy(buffer
, begin_ptr
, length
);
35 string
= server_strings
+length
;
38 ptr
= index(buffer
, ':');
46 port
= strtol(ptr
, (char **)NULL
, 10);
48 memcached_server_add(memc
, buffer
, port
);
52 memcached_server_add(memc
, buffer
, 0);
60 for (x
= 0; x
< cleanup_list_length
; x
++)
61 free(cleanup_list
[x
]);
66 char *strdup_cleanup(const char *str
)
72 cleanup_list
= (char **)realloc(cleanup_list
, sizeof(char *) * (cleanup_list_length
+1));
73 cleanup_list
[cleanup_list_length
]= ptr
;
74 cleanup_list_length
++;