X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstats.cc;h=6bab673d0273322cf7b412523f86bb29e6ee3820;hb=2897ccfa82591bd17d02c344465c4a74e3b3dbae;hp=434949485620a095834847f82353b1234b48e7a7;hpb=96fd17942838d7c2943334da9e7616e56c613595;p=awesomized%2Flibmemcached diff --git a/libmemcached/stats.cc b/libmemcached/stats.cc index 43494948..6bab673d 100644 --- a/libmemcached/stats.cc +++ b/libmemcached/stats.cc @@ -227,12 +227,23 @@ static memcached_return_t set_data(memcached_stat_st *memc_stat, const char *key return MEMCACHED_SUCCESS; } -char *memcached_stat_get_value(const memcached_st *ptr, memcached_stat_st *memc_stat, +char *memcached_stat_get_value(const memcached_st *, memcached_stat_st *memc_stat, const char *key, memcached_return_t *error) { + memcached_return_t not_used; + if (error == NULL) + { + error= ¬_used; + } + + if (memc_stat == NULL) + { + *error= MEMCACHED_INVALID_ARGUMENTS; + return NULL; + } + char buffer[SMALL_STRING_LEN]; int length; - char *ret; *error= MEMCACHED_SUCCESS; @@ -336,7 +347,8 @@ char *memcached_stat_get_value(const memcached_st *ptr, memcached_stat_st *memc_ return NULL; } - ret= static_cast(libmemcached_malloc(ptr, (size_t) (length + 1))); + // User is responsible for free() memory, so use malloc() + char *ret= static_cast(malloc(size_t(length +1))); memcpy(ret, buffer, (size_t) length); ret[length]= '\0';