projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Update writev
[m6w6/libmemcached]
/
libmemcached
/
verbosity.cc
diff --git
a/libmemcached/verbosity.cc
b/libmemcached/verbosity.cc
index c4231719df0b0ac168472702ff544d7fa373c16d..334a3316288afd971fc22bb75b2093e1347815d9 100644
(file)
--- a/
libmemcached/verbosity.cc
+++ b/
libmemcached/verbosity.cc
@@
-43,32
+43,28
@@
struct context_st
const char *buffer;
};
const char *buffer;
};
-static memcached_return_t _set_verbosity(const memcached_st *
ptr
,
+static memcached_return_t _set_verbosity(const memcached_st *,
const memcached_server_st *server,
void *context)
{
const memcached_server_st *server,
void *context)
{
- memcached_return_t rc;
- memcached_st local_memc;
- memcached_st *memc_ptr;
- char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
+ libmemcached_io_vector_st *vector= (libmemcached_io_vector_st *)context;
- struct context_st *execute= (struct context_st *)context;
- (void)ptr;
-
- memc_ptr= memcached_create(&local_memc);
+ memcached_st local_memc;
+ memcached_st *memc_ptr= memcached_create(&local_memc);
- rc= memcached_server_add(memc_ptr, memcached_server_name(server), memcached_server_port(server));
+
memcached_return_t
rc= memcached_server_add(memc_ptr, memcached_server_name(server), memcached_server_port(server));
if (rc == MEMCACHED_SUCCESS)
{
if (rc == MEMCACHED_SUCCESS)
{
- memcached_server_write_instance_st instance=
- memcached_server_instance_fetch(memc_ptr, 0);
+ memcached_server_write_instance_st instance=
memcached_server_instance_fetch(memc_ptr, 0);
+
- rc= memcached_
do(instance, execute->buffer, execute->length
, true);
+ rc= memcached_
vdo(instance, vector, 4
, true);
if (rc == MEMCACHED_SUCCESS)
{
if (rc == MEMCACHED_SUCCESS)
{
- rc= memcached_response(instance, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
+ char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
+ rc= memcached_response(instance, buffer, sizeof(buffer), NULL);
}
}
}
}
@@
-79,22
+75,32
@@
static memcached_return_t _set_verbosity(const memcached_st *ptr,
memcached_return_t memcached_verbosity(memcached_st *ptr, uint32_t verbosity)
{
memcached_return_t memcached_verbosity(memcached_st *ptr, uint32_t verbosity)
{
- int send_length;
+ 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];
memcached_server_fn callbacks[1];
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
- send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
- "verbosity %u\r\n", verbosity);
- if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE || send_length < 0)
+ int send_length= snprintf(buffer, sizeof(buffer), "%u", verbosity);
+ if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE or send_length < 0)
{
return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT,
memcached_literal_param("snprintf(MEMCACHED_DEFAULT_COMMAND_SIZE)"));
}
{
return memcached_set_error(*ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT,
memcached_literal_param("snprintf(MEMCACHED_DEFAULT_COMMAND_SIZE)"));
}
- struct context_st context = { (size_t)send_length, buffer };
+ libmemcached_io_vector_st vector[]=
+ {
+ { NULL, 0 },
+ { memcached_literal_param("verbosity ") },
+ { buffer, send_length },
+ { memcached_literal_param("\r\n") }
+ };
callbacks[0]= _set_verbosity;
callbacks[0]= _set_verbosity;
- return memcached_server_cursor(ptr, callbacks,
&context
, 1);
+ return memcached_server_cursor(ptr, callbacks,
vector
, 1);
}
}