docs: gzip manpages
[m6w6/libmemcached] / libmemcached / result.cc
index a3438c08c9b0f2ed07a73296c474ebb601e91607..6fa507b28e60bf541105cee7ec34c82c7040e3aa 100644 (file)
@@ -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
 #include <libmemcached/common.h>
 
 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;