X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fresult.c;h=c6c754f3ea3aad568710f62a98e67946fd586f63;hb=a468641b355470d81f358daf274b5853093cf99d;hp=06e3ba9e75d472b526982f926515b953f13de69e;hpb=ea47169abd0793bb7eb1b72e4de411ae9b43dce4;p=m6w6%2Flibmemcached diff --git a/libmemcached/result.c b/libmemcached/result.c index 06e3ba9e..c6c754f3 100644 --- a/libmemcached/result.c +++ b/libmemcached/result.c @@ -92,47 +92,54 @@ memcached_return_t memcached_result_set_value(memcached_result_st *ptr, const char *value, size_t length) { - return memcached_string_append(&ptr->value, value, length); + memcached_return_t rc= memcached_string_append(&ptr->value, value, length); + + if (rc == MEMCACHED_MEMORY_ALLOCATION_FAILURE) + { + ((memcached_st *)ptr->root)->cached_errno= errno; + } + + return rc; } -inline const char *memcached_result_key_value(const memcached_result_st *self) +const char *memcached_result_key_value(const memcached_result_st *self) { return self->key_length ? self->item_key : NULL; } -inline size_t memcached_result_key_length(const memcached_result_st *self) +size_t memcached_result_key_length(const memcached_result_st *self) { return self->key_length; } -inline const char *memcached_result_value(const memcached_result_st *self) +const char *memcached_result_value(const memcached_result_st *self) { const memcached_string_st *sptr= &self->value; return memcached_string_value(sptr); } -inline size_t memcached_result_length(const memcached_result_st *self) +size_t memcached_result_length(const memcached_result_st *self) { const memcached_string_st *sptr= &self->value; return memcached_string_length(sptr); } -inline uint32_t memcached_result_flags(const memcached_result_st *self) +uint32_t memcached_result_flags(const memcached_result_st *self) { return self->item_flags; } -inline uint64_t memcached_result_cas(const memcached_result_st *self) +uint64_t memcached_result_cas(const memcached_result_st *self) { return self->item_cas; } -inline void memcached_result_set_flags(memcached_result_st *self, uint32_t flags) +void memcached_result_set_flags(memcached_result_st *self, uint32_t flags) { self->item_flags= flags; } -inline void memcached_result_set_expiration(memcached_result_st *self, time_t expiration) +void memcached_result_set_expiration(memcached_result_st *self, time_t expiration) { self->item_expiration= expiration; }