X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fresult.cc;h=e7bac559d6456cc17d1bcfb890442dccf62c0a18;hb=674c7578fa870c3b57e81e765c355ce98434b310;hp=1a5095af5c349a921625cfe4c5651ee9e633954b;hpb=f85fab0eee78e13f85bffd0a22ecac696fdc0cb8;p=m6w6%2Flibmemcached diff --git a/libmemcached/result.cc b/libmemcached/result.cc index 1a5095af..e7bac559 100644 --- a/libmemcached/result.cc +++ b/libmemcached/result.cc @@ -52,6 +52,7 @@ static inline void _result_init(memcached_result_st *self, self->key_length= 0; self->item_cas= 0; self->root= memc; + self->numeric_value= UINT64_MAX; self->count= 0; self->item_key[0]= 0; } @@ -68,7 +69,7 @@ memcached_result_st *memcached_result_create(const memcached_st *memc, } else { - ptr= static_cast(libmemcached_malloc(memc, sizeof(memcached_result_st))); + ptr= libmemcached_xmalloc(memc, memcached_result_st); if (not ptr) { @@ -97,6 +98,7 @@ void memcached_result_reset(memcached_result_st *ptr) ptr->item_flags= 0; ptr->item_cas= 0; ptr->item_expiration= 0; + ptr->numeric_value= UINT64_MAX; } void memcached_result_free(memcached_result_st *ptr) @@ -107,6 +109,7 @@ void memcached_result_free(memcached_result_st *ptr) } memcached_string_free(&ptr->value); + ptr->numeric_value= UINT64_MAX; if (memcached_is_allocated(ptr)) { @@ -120,6 +123,11 @@ void memcached_result_free(memcached_result_st *ptr) } } +void memcached_result_reset_value(memcached_result_st *ptr) +{ + memcached_string_reset(&ptr->value); +} + memcached_return_t memcached_result_set_value(memcached_result_st *ptr, const char *value, size_t length)