Remove how use instance (keep API intact)
[m6w6/libmemcached] / libmemcached / verbosity.cc
index e2aac3c74ba88c24bee5560781c2d8cb66bfa616..39810decc7c5c67f6777d647852cc74aeb938847 100644 (file)
@@ -44,10 +44,10 @@ struct context_st
 };
 
 static memcached_return_t _set_verbosity(const memcached_st *,
-                                         const memcached_server_st *server,
+                                         const memcached_server_instance_st server,
                                          void *context)
 {
const libmemcached_io_vector_st *execute= (const libmemcached_io_vector_st *)context;
libmemcached_io_vector_st *vector= (libmemcached_io_vector_st *)context;
 
   memcached_st local_memc;
   memcached_st *memc_ptr= memcached_create(&local_memc);
@@ -59,7 +59,7 @@ static memcached_return_t _set_verbosity(const memcached_st *,
     memcached_server_write_instance_st instance= memcached_server_instance_fetch(memc_ptr, 0);
 
 
-    rc= memcached_vdo(instance, execute, 3, true);
+    rc= memcached_vdo(instance, vector, 4, true);
 
     if (rc == MEMCACHED_SUCCESS)
     {
@@ -75,6 +75,12 @@ static memcached_return_t _set_verbosity(const memcached_st *,
 
 memcached_return_t memcached_verbosity(memcached_st *ptr, uint32_t verbosity)
 {
+  memcached_return_t rc;
+  if (memcached_failed(rc= initialize_query(ptr, false)))
+  {
+    return rc;
+  }
+
   memcached_server_fn callbacks[1];
 
   char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
@@ -86,8 +92,9 @@ memcached_return_t memcached_verbosity(memcached_st *ptr, uint32_t verbosity)
                                memcached_literal_param("snprintf(MEMCACHED_DEFAULT_COMMAND_SIZE)"));
   }
 
-  struct libmemcached_io_vector_st vector[]=
+  libmemcached_io_vector_st vector[]=
   {
+    { NULL, 0 },
     { memcached_literal_param("verbosity ") },
     { buffer, send_length },
     { memcached_literal_param("\r\n") }