Update to tests (just moved for version specifics). Outlined basics for 1.2, and 2.0
[m6w6/libmemcached] / libmemcached / result.cc
index eb24fa3617c4f35889851be7e154f64d0e60dbe7..a3438c08c9b0f2ed07a73296c474ebb601e91607 100644 (file)
@@ -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->count= 0;
   self->item_key[0]= 0;
 }
 
@@ -67,7 +68,7 @@ memcached_result_st *memcached_result_create(const memcached_st *memc,
   }
   else
   {
-    ptr= static_cast<memcached_result_st *>(libmemcached_malloc(memc, sizeof(memcached_result_st)));
+    ptr= libmemcached_xmalloc(memc, memcached_result_st);
 
     if (not ptr)
     {
@@ -100,8 +101,10 @@ void memcached_result_reset(memcached_result_st *ptr)
 
 void memcached_result_free(memcached_result_st *ptr)
 {
-  if (not ptr)
+  if (ptr == NULL)
+  {
     return;
+  }
 
   memcached_string_free(&ptr->value);
 
@@ -112,6 +115,7 @@ void memcached_result_free(memcached_result_st *ptr)
   }
   else
   {
+    ptr->count= 0;
     ptr->options.is_initialized= false;
   }
 }