X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fserver_list.cc;h=537e9edd8dfb04e7817a22e369793b6072d8fc3d;hb=5b4562fb7d21aeccdd0ce21e86e4efd1ade9c778;hp=57d5c7fe1153bd2cd72d75757e390a7b1d723f78;hpb=674c7578fa870c3b57e81e765c355ce98434b310;p=awesomized%2Flibmemcached diff --git a/libmemcached/server_list.cc b/libmemcached/server_list.cc index 57d5c7fe..537e9edd 100644 --- a/libmemcached/server_list.cc +++ b/libmemcached/server_list.cc @@ -89,6 +89,7 @@ memcached_server_list_append_with_weight(memcached_server_list_st ptr, #if 0 *error= memcached_set_errno(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT); #endif + free(new_host_list); return NULL; } @@ -126,46 +127,36 @@ uint32_t memcached_instance_list_count(const memcached_st* self) : self->number_of_hosts; } -uint32_t memcached_instance_count(const memcached_st* self) -{ - return (self == NULL) - ? 0 - : self->number_of_hosts; -} - -void memcached_instance_set(memcached_st* memc, org::libmemcached::Instance* list) +void memcached_instance_set(memcached_st* memc, org::libmemcached::Instance* list, const uint32_t host_list_size) { memc->servers= list; + memc->number_of_hosts= host_list_size; } void memcached_server_list_free(memcached_server_list_st self) { - if (self == NULL) + if (self) { - return; - } + for (uint32_t x= 0; x < memcached_server_list_count(self); x++) + { + assert_msg(not memcached_is_allocated(&self[x]), "You have called memcached_server_list_free(), but you did not pass it a valid memcached_server_list_st"); + __server_free(&self[x]); + } - for (uint32_t x= 0; x < memcached_server_list_count(self); x++) - { - assert_msg(not memcached_is_allocated(&self[x]), "You have called memcached_server_list_free(), but you did not pass it a valid memcached_server_list_st"); - __server_free(&self[x]); + libmemcached_free(self->root, self); } - - libmemcached_free(self->root, self); } void memcached_instance_list_free(org::libmemcached::Instance* self, uint32_t instance_count) { - if (self == NULL) + if (self) { - return; - } + for (uint32_t x= 0; x < instance_count; x++) + { + assert_msg(memcached_is_allocated(&self[x]) == false, "You have called memcached_server_list_free(), but you did not pass it a valid memcached_server_list_st"); + __instance_free(&self[x]); + } - for (uint32_t x= 0; x < instance_count; x++) - { - assert_msg(not memcached_is_allocated(&self[x]), "You have called memcached_server_list_free(), but you did not pass it a valid memcached_server_list_st"); - __instance_free(&self[x]); + libmemcached_free(self->root, self); } - - libmemcached_free(self->root, self); }