X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fallocators.cc;h=e1c9d780e3d3af5cd0d9578235fdbba35f2387a7;hb=633c18d8302c3f0fda715879716a1a6cb2e21080;hp=d18372b4ba6ca9793e1f60787487c36a80bfff7d;hpb=54b757ae099fb3db5132bd8a84b99a9a85492af1;p=m6w6%2Flibmemcached diff --git a/libmemcached/allocators.cc b/libmemcached/allocators.cc index d18372b4..e1c9d780 100644 --- a/libmemcached/allocators.cc +++ b/libmemcached/allocators.cc @@ -41,26 +41,26 @@ void _libmemcached_free(const memcached_st*, void *mem, void*) { if (mem) { - free(mem); + std::free(mem); } } void *_libmemcached_malloc(const memcached_st *, size_t size, void *) { - return malloc(size); + return std::malloc(size); } void *_libmemcached_realloc(const memcached_st*, void *mem, size_t size, void *) { - return realloc(mem, size); + return std::realloc(mem, size); } void *_libmemcached_calloc(const memcached_st *self, size_t nelem, size_t size, void *context) { if (self->allocators.malloc != _libmemcached_malloc) { - void *ret = _libmemcached_malloc(self, nelem * size, context); - if (not ret) + void *ret= _libmemcached_malloc(self, nelem * size, context); + if (ret) { memset(ret, 0, nelem * size); } @@ -68,7 +68,7 @@ void *_libmemcached_calloc(const memcached_st *self, size_t nelem, size_t size, return ret; } - return calloc(nelem, size); + return std::calloc(nelem, size); } struct memcached_allocator_t memcached_allocators_return_default(void) @@ -126,8 +126,23 @@ void memcached_get_memory_allocators(const memcached_st *self, return; } - *mem_malloc= self->allocators.malloc; - *mem_free= self->allocators.free; - *mem_realloc= self->allocators.realloc; - *mem_calloc= self->allocators.calloc; + if (mem_malloc) + { + *mem_malloc= self->allocators.malloc; + } + + if (mem_free) + { + *mem_free= self->allocators.free; + } + + if (mem_realloc) + { + *mem_realloc= self->allocators.realloc; + } + + if (mem_calloc) + { + *mem_calloc= self->allocators.calloc; + } }