X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fresult.cc;h=6fa507b28e60bf541105cee7ec34c82c7040e3aa;hb=88b1aa19c0b3c5ad047222618cb17f447ea2bc67;hp=a3438c08c9b0f2ed07a73296c474ebb601e91607;hpb=f34725871a4ad46ea3b3194d829eebf81cc5c08e;p=awesomized%2Flibmemcached diff --git a/libmemcached/result.cc b/libmemcached/result.cc index a3438c08..6fa507b2 100644 --- a/libmemcached/result.cc +++ b/libmemcached/result.cc @@ -2,7 +2,7 @@ * * Libmemcached library * - * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * Copyright (C) 2011-2013 Data Differential, http://datadifferential.com/ * Copyright (C) 2006-2009 Brian Aker All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,21 +45,22 @@ #include static inline void _result_init(memcached_result_st *self, - memcached_st *memc) + Memcached *memc) { self->item_flags= 0; self->item_expiration= 0; self->key_length= 0; self->item_cas= 0; self->root= memc; + self->numeric_value= UINT64_MAX; self->count= 0; self->item_key[0]= 0; } -memcached_result_st *memcached_result_create(const memcached_st *memc, +memcached_result_st *memcached_result_create(const memcached_st *shell, memcached_result_st *ptr) { - WATCHPOINT_ASSERT(memc); + const Memcached* memc= memcached2Memcached(shell); /* Saving malloc calls :) */ if (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) @@ -154,6 +162,12 @@ size_t memcached_result_length(const memcached_result_st *self) return memcached_string_length(sptr); } +char *memcached_result_take_value(memcached_result_st *self) +{ + memcached_string_st *sptr= &self->value; + return memcached_string_take_value(sptr); +} + uint32_t memcached_result_flags(const memcached_result_st *self) { return self->item_flags;