X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstring.cc;h=7bc7fec0036e87c293d87b1ee8c31287af515472;hb=3d528ab093189ae2bee0aa7e79f07789d82c02d9;hp=6f3b9c1c571a4e5e9ccc5685eb59a6bcb35ec3ea;hpb=6ebad5d9496eef6c2f1ad843198bb0413be6e16f;p=m6w6%2Flibmemcached diff --git a/libmemcached/string.cc b/libmemcached/string.cc index 6f3b9c1c..7bc7fec0 100644 --- a/libmemcached/string.cc +++ b/libmemcached/string.cc @@ -37,7 +37,6 @@ #include -#include inline static memcached_return_t _string_check(memcached_string_st *string, size_t need) { @@ -88,7 +87,7 @@ memcached_string_st *memcached_string_create(memcached_st *memc, memcached_strin { WATCHPOINT_ASSERT(self->options.is_initialized == false); - self->options.is_allocated= false; + memcached_set_allocated(self, false); } else { @@ -99,7 +98,7 @@ memcached_string_st *memcached_string_create(memcached_st *memc, memcached_strin return NULL; } - self->options.is_allocated= true; + memcached_set_allocated(self, true); } self->root= memc; @@ -107,7 +106,10 @@ memcached_string_st *memcached_string_create(memcached_st *memc, memcached_strin if (memcached_failed(_string_check(self, initial_size))) { - libmemcached_free(memc, self); + if (memcached_is_allocated(self)) + { + libmemcached_free(memc, self); + } return NULL; } @@ -228,7 +230,7 @@ const char *memcached_string_value(const memcached_string_st *self) char *memcached_string_take_value(memcached_string_st *self) { - assert(self); + assert_msg(self, "Invalid memcached_string_st"); // If we fail at adding the null, we copy and move on if (memcached_success(memcached_string_append_null(self))) {