X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_server.c;h=ca0f4d04a6535ccf1ed47948226f6c6d669ea65e;hb=1a92818ec19dd3e9ca4b6765a5765ca1a97dcfdc;hp=2ecbe214d9fb416f60b9fca98290bb70ee37977f;hpb=8938832f83ddccf7d6d524c8660840d15b1ad8f1;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_server.c b/libmemcached/memcached_server.c index 2ecbe214..ca0f4d04 100644 --- a/libmemcached/memcached_server.c +++ b/libmemcached/memcached_server.c @@ -12,10 +12,12 @@ memcached_server_st *memcached_server_create(memcached_st *memc, memcached_serve if (!ptr) return NULL; /* MEMCACHED_MEMORY_ALLOCATION_FAILURE */ - ptr->is_allocated= true; + ptr->options.is_allocated= true; } else + { memset(ptr, 0, sizeof(memcached_server_st)); + } ptr->root= memc; @@ -59,10 +61,15 @@ void memcached_server_free(memcached_server_st *ptr) if (ptr->address_info) freeaddrinfo(ptr->address_info); - if (ptr->is_allocated) + + if (memcached_is_allocated(ptr)) + { ptr->root->call_free(ptr->root, ptr); + } else + { memset(ptr, 0, sizeof(memcached_server_st)); + } } /*