Fix NULL bit to exist for UDP
authorBrian Aker <brian@tangent.org>
Sat, 31 Dec 2011 01:04:02 +0000 (17:04 -0800)
committerBrian Aker <brian@tangent.org>
Sat, 31 Dec 2011 01:04:02 +0000 (17:04 -0800)
libmemcached/auto.cc
libmemcached/delete.cc
libmemcached/exist.cc
libmemcached/storage.cc
libmemcached/touch.cc

index c1764c4d5b5753a69c0796904391bee3ad8796e2..88b921c4cdf889083dd19aaaf9b804d3a3bf57b8 100644 (file)
@@ -55,6 +55,7 @@ static memcached_return_t text_incr_decr(memcached_server_write_instance_st inst
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { memcached_literal_param("incr ") },
     { memcached_array_string(instance->root->_namespace), memcached_array_size(instance->root->_namespace) },
     { key, key_length },
@@ -65,10 +66,10 @@ static memcached_return_t text_incr_decr(memcached_server_write_instance_st inst
 
   if (is_incr == false)
   {
-    vector[0].buffer= "decr ";
+    vector[1].buffer= "decr ";
   }
 
-  memcached_return_t rc= memcached_vdo(instance, vector, 6, true);
+  memcached_return_t rc= memcached_vdo(instance, vector, 7, true);
 
   if (reply == false)
   {
@@ -121,13 +122,14 @@ static memcached_return_t binary_incr_decr(memcached_server_write_instance_st in
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { request.bytes, sizeof(request.bytes) },
     { memcached_array_string(instance->root->_namespace), memcached_array_size(instance->root->_namespace) },
     { key, key_length }
   };
 
   memcached_return_t rc;
-  if (memcached_failed(rc= memcached_vdo(instance, vector, 3, true)))
+  if (memcached_failed(rc= memcached_vdo(instance, vector, 4, true)))
   {
     memcached_io_reset(instance);
     return MEMCACHED_WRITE_FAILURE;
index 1c4aba6cea26181a846d73428580096e09cc1da0..9baf56b85b3bc3962d8d4df4811b5ac2040902c6 100644 (file)
@@ -53,6 +53,7 @@ static inline memcached_return_t ascii_delete(memcached_server_write_instance_st
 {
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { memcached_literal_param("delete ") },
     { memcached_array_string(instance->root->_namespace), memcached_array_size(instance->root->_namespace) },
     { key, key_length },
@@ -62,7 +63,7 @@ static inline memcached_return_t ascii_delete(memcached_server_write_instance_st
 
   if (memcached_is_udp(instance->root))
   {
-    size_t send_length= io_vector_total_size(vector, 5);
+    size_t send_length= io_vector_total_size(vector, 6);
 
     if (send_length > MAX_UDP_DATAGRAM_LENGTH - UDP_DATAGRAM_HEADER_LENGTH)
     {
@@ -76,7 +77,7 @@ static inline memcached_return_t ascii_delete(memcached_server_write_instance_st
   }
 
   /* Send command header */
-  return memcached_vdo(instance, vector, 5, flush);
+  return memcached_vdo(instance, vector, 6, flush);
 }
 
 static inline memcached_return_t binary_delete(memcached_server_write_instance_st instance,
@@ -117,6 +118,7 @@ static inline memcached_return_t binary_delete(memcached_server_write_instance_s
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { request.bytes, sizeof(request.bytes) },
     { memcached_array_string(instance->root->_namespace), memcached_array_size(instance->root->_namespace) },
     { key, key_length }
@@ -124,7 +126,7 @@ static inline memcached_return_t binary_delete(memcached_server_write_instance_s
 
   memcached_return_t rc= MEMCACHED_SUCCESS;
 
-  if ((rc= memcached_vdo(instance, vector,  3, flush)) != MEMCACHED_SUCCESS)
+  if ((rc= memcached_vdo(instance, vector,  4, flush)) != MEMCACHED_SUCCESS)
   {
     memcached_io_reset(instance);
   }
@@ -135,15 +137,16 @@ static inline memcached_return_t binary_delete(memcached_server_write_instance_s
 
     for (uint32_t x= 0; x < instance->root->number_of_replicas; ++x)
     {
-      memcached_server_write_instance_st replica;
 
       ++server_key;
       if (server_key == memcached_server_count(instance->root))
+      {
         server_key= 0;
+      }
 
-      replica= memcached_server_instance_fetch(instance->root, server_key);
+      memcached_server_write_instance_st replica= memcached_server_instance_fetch(instance->root, server_key);
 
-      if (memcached_vdo(replica, vector, 3, flush) != MEMCACHED_SUCCESS)
+      if (memcached_vdo(replica, vector, 4, flush) != MEMCACHED_SUCCESS)
       {
         memcached_io_reset(replica);
       }
index 6903f83bcd612e1adb87335377e69008d197130b..d2dc34dd6a1126f7e8afc463405d82a0da698525 100644 (file)
@@ -40,6 +40,7 @@ static memcached_return_t ascii_exist(memcached_st *memc, memcached_server_write
 {
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { memcached_literal_param("add ") },
     { memcached_array_string(memc->_namespace), memcached_array_size(memc->_namespace) },
     { key, key_length },
@@ -51,7 +52,7 @@ static memcached_return_t ascii_exist(memcached_st *memc, memcached_server_write
   };
 
   /* Send command header */
-  memcached_return_t rc=  memcached_vdo(instance, vector, 8, true);
+  memcached_return_t rc=  memcached_vdo(instance, vector, 9, true);
   if (rc == MEMCACHED_SUCCESS)
   {
     char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
@@ -95,6 +96,7 @@ static memcached_return_t binary_exist(memcached_st *memc, memcached_server_writ
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { request.bytes, send_length },
     { memcached_array_string(memc->_namespace), memcached_array_size(memc->_namespace) },
     { key, key_length }
@@ -102,7 +104,7 @@ static memcached_return_t binary_exist(memcached_st *memc, memcached_server_writ
 
   /* write the header */
   memcached_return_t rc;
-  if ((rc= memcached_vdo(instance, vector, 3, true)) != MEMCACHED_SUCCESS)
+  if ((rc= memcached_vdo(instance, vector, 4, true)) != MEMCACHED_SUCCESS)
   {
     memcached_io_reset(instance);
     return (rc == MEMCACHED_SUCCESS) ? MEMCACHED_WRITE_FAILURE : rc;
index 5453416f2aaf0d6a80abf4df11b163b80ff0c679..0ce4ea61a3f939b7aadfc93a10122cfac16e7b17 100644 (file)
@@ -162,6 +162,7 @@ static memcached_return_t memcached_send_binary(memcached_st *ptr,
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { request.bytes, send_length },
     { memcached_array_string(ptr->_namespace),  memcached_array_size(ptr->_namespace) },
     { key, key_length },
@@ -170,7 +171,7 @@ static memcached_return_t memcached_send_binary(memcached_st *ptr,
 
   /* write the header */
   memcached_return_t rc;
-  if ((rc= memcached_vdo(server, vector, 4, flush)) != MEMCACHED_SUCCESS)
+  if ((rc= memcached_vdo(server, vector, 5, flush)) != MEMCACHED_SUCCESS)
   {
     memcached_io_reset(server);
 
@@ -197,7 +198,7 @@ static memcached_return_t memcached_send_binary(memcached_st *ptr,
 
       memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, server_key);
 
-      if (memcached_vdo(instance, vector, 4, false) != MEMCACHED_SUCCESS)
+      if (memcached_vdo(instance, vector, 5, false) != MEMCACHED_SUCCESS)
       {
         memcached_io_reset(instance);
       }
@@ -273,6 +274,7 @@ static memcached_return_t memcached_send_ascii(memcached_st *ptr,
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { storage_op_string(verb), strlen(storage_op_string(verb))},
     { memcached_array_string(ptr->_namespace), memcached_array_size(ptr->_namespace) },
     { key, key_length },
@@ -287,7 +289,7 @@ static memcached_return_t memcached_send_ascii(memcached_st *ptr,
   };
 
   /* Send command header */
-  memcached_return_t rc=  memcached_vdo(instance, vector, 11, flush);
+  memcached_return_t rc=  memcached_vdo(instance, vector, 12, flush);
   if (rc == MEMCACHED_SUCCESS)
   {
     if (flush == false)
index ba73146f2458ef169d7507531b89faa186e316bd..8505d7e679528f8e3181306c627f79170e3ab621 100644 (file)
@@ -52,6 +52,7 @@ static memcached_return_t ascii_touch(memcached_server_write_instance_st instanc
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { memcached_literal_param("touch ") },
     { memcached_array_string(instance->root->_namespace), memcached_array_size(instance->root->_namespace) },
     { key, key_length },
@@ -60,7 +61,7 @@ static memcached_return_t ascii_touch(memcached_server_write_instance_st instanc
   };
 
   memcached_return_t rc;
-  if (memcached_failed(rc= memcached_vdo(instance, vector, 5, true)))
+  if (memcached_failed(rc= memcached_vdo(instance, vector, 6, true)))
   {
     memcached_io_reset(instance);
     return memcached_set_error(*instance, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT);
@@ -84,13 +85,14 @@ static memcached_return_t binary_touch(memcached_server_write_instance_st instan
 
   libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { request.bytes, sizeof(request.bytes) },
     { memcached_array_string(instance->root->_namespace), memcached_array_size(instance->root->_namespace) },
     { key, key_length }
   };
 
   memcached_return_t rc;
-  if (memcached_failed(rc= memcached_vdo(instance, vector, 3, true)))
+  if (memcached_failed(rc= memcached_vdo(instance, vector, 4, true)))
   {
     memcached_io_reset(instance);
     return memcached_set_error(*instance, MEMCACHED_WRITE_FAILURE, MEMCACHED_AT);