Fixed unittests and vc-changelog.
[m6w6/libmemcached] / libmemcached / version.c
index e3541d06aca1e3533a8c96f8de4f3d7a52f92310..54545cb9d46ff59112b4b30a028a4fb5877d0766 100644 (file)
@@ -13,10 +13,19 @@ memcached_return_t memcached_version(memcached_st *ptr)
   if (ptr->flags.use_udp)
     return MEMCACHED_NOT_SUPPORTED;
 
+  bool was_blocking= ptr->flags.no_block;
+  memcached_return_t rc;
+
+  ptr->flags.no_block= false;
+
   if (ptr->flags.binary_protocol)
-    return memcached_version_binary(ptr);
+    rc= memcached_version_binary(ptr);
   else
-    return memcached_version_textual(ptr);      
+    rc= memcached_version_textual(ptr);      
+
+  ptr->flags.no_block= was_blocking;
+
+  return rc;
 }
 
 static inline memcached_return_t memcached_version_textual(memcached_st *ptr)
@@ -33,7 +42,7 @@ static inline memcached_return_t memcached_version_textual(memcached_st *ptr)
   for (uint32_t x= 0; x < memcached_server_count(ptr); x++)
   {
     memcached_return_t rrc;
-    memcached_server_instance_st *instance=
+    memcached_server_write_instance_st instance=
       memcached_server_instance_fetch(ptr, x);
 
     rrc= memcached_do(instance, command, send_length, true);
@@ -69,18 +78,17 @@ static inline memcached_return_t memcached_version_textual(memcached_st *ptr)
 static inline memcached_return_t memcached_version_binary(memcached_st *ptr)
 {
   memcached_return_t rc;
-  unsigned int x;
   protocol_binary_request_version request= { .bytes= {0}};
   request.message.header.request.magic= PROTOCOL_BINARY_REQ;
   request.message.header.request.opcode= PROTOCOL_BINARY_CMD_VERSION;
   request.message.header.request.datatype= PROTOCOL_BINARY_RAW_BYTES;
 
   rc= MEMCACHED_SUCCESS;
-  for (x= 0; x < memcached_server_count(ptr); x++) 
+  for (uint32_t x= 0; x < memcached_server_count(ptr); x++) 
   {
     memcached_return_t rrc;
 
-    memcached_server_instance_st *instance=
+    memcached_server_write_instance_st instance=
       memcached_server_instance_fetch(ptr, x);
 
     rrc= memcached_do(instance, request.bytes, sizeof(request.bytes), true);
@@ -92,9 +100,9 @@ static inline memcached_return_t memcached_version_binary(memcached_st *ptr)
     }
   }
 
-  for (x= 0; x < memcached_server_count(ptr); x++) 
+  for (uint32_t x= 0; x < memcached_server_count(ptr); x++) 
   {
-    memcached_server_instance_st *instance=
+    memcached_server_write_instance_st instance=
       memcached_server_instance_fetch(ptr, x);
 
     if (memcached_server_response_count(instance) > 0)