Merged trunk.
[m6w6/libmemcached] / libmemcached / result.c
index dae53bf7ec8875675e6e33bdf21c5ac6287f32a3..c6c754f3ea3aad568710f62a98e67946fd586f63 100644 (file)
@@ -92,7 +92,14 @@ 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;
 }
 
 const char *memcached_result_key_value(const memcached_result_st *self)