Extend test.
[m6w6/libmemcached] / libmemcached / result.c
index 06e3ba9e75d472b526982f926515b953f13de69e..6e58eebd998f2f2f2362f1a018b8db2cb1fb72ec 100644 (file)
@@ -18,7 +18,7 @@
 #include "common.h"
 
 static inline void _result_init(memcached_result_st *self,
-                                const memcached_st *memc)
+                                memcached_st *memc)
 {
   self->item_flags= 0;
   self->item_expiration= 0;
@@ -50,9 +50,8 @@ memcached_result_st *memcached_result_create(const memcached_st *memc,
 
   ptr->options.is_initialized= true;
 
-  _result_init(ptr, memc);
+  _result_init(ptr, (memcached_st *)memc);
 
-  ptr->root= memc;
   WATCHPOINT_SET(ptr->value.options.is_initialized= false);
   memcached_string_create(memc, &ptr->value, 0);
   WATCHPOINT_ASSERT_INITIALIZED(&ptr->value);
@@ -92,47 +91,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_set_errno(ptr->root, errno, NULL);
+  }
+
+      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;
 }