OSX lacks getopt long support :(
[awesomized/libmemcached] / libmemcached / initialize_query.cc
index 00e8e6420f0bd657c95d0ebd84aa49e1fa7b1328..0a4aae075dbafe05d9350a7ac2a81da64f463b18 100644 (file)
 
 #include <libmemcached/common.h>
 
-memcached_return_t initialize_query(memcached_st *self)
+memcached_return_t initialize_query(memcached_st *self, bool increment_query_id)
 {
-  if (not self)
+  if (self == NULL)
+  {
     return MEMCACHED_INVALID_ARGUMENTS;
+  }
 
-  self->query_id++;
+  if (increment_query_id)
+  {
+    self->query_id++;
+  }
 
   if (self->state.is_time_for_rebuild)
   {
@@ -53,13 +58,18 @@ memcached_return_t initialize_query(memcached_st *self)
     return memcached_set_error(*self, MEMCACHED_NO_SERVERS, MEMCACHED_AT);
   }
 
+  memcached_error_free(*self);
+  memcached_result_reset(&self->result);
+
   return MEMCACHED_SUCCESS;
 }
 
 memcached_return_t initialize_const_query(const memcached_st *self)
 {
-  if (not self)
+  if (self == NULL)
+  {
     return MEMCACHED_INVALID_ARGUMENTS;
+  }
 
   if (memcached_server_count(self) == 0)
   {