X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_verbosity.c;h=1ee9d070160711a93444afd81c02dd5236d6e312;hb=2dce97932fbd574db1179add7bc3facc0318186c;hp=55a51842a8211a12449a3c5132a1ad345642b49f;hpb=557de9b08007dd2b482778ba934574bcf7ee531f;p=awesomized%2Flibmemcached diff --git a/lib/memcached_verbosity.c b/lib/memcached_verbosity.c index 55a51842..1ee9d070 100644 --- a/lib/memcached_verbosity.c +++ b/lib/memcached_verbosity.c @@ -1,44 +1,31 @@ -#include +#include "common.h" memcached_return memcached_verbosity(memcached_st *ptr, unsigned int verbosity) { unsigned int x; - size_t send_length, sent_length; + size_t send_length; memcached_return rc; char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; - rc= memcached_connect(ptr); - - if (rc != MEMCACHED_SUCCESS) - rc= MEMCACHED_SOME_ERRORS; - send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, "verbosity %u\r\n", verbosity); if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE) return MEMCACHED_WRITE_FAILURE; + rc= MEMCACHED_SUCCESS; for (x= 0; x < ptr->number_of_hosts; x++) { - memcached_return rc; - - sent_length= write(ptr->hosts[x].fd, buffer, send_length); - - if (sent_length == -1) - { - fprintf(stderr, "error %s: write: %m\n", __FUNCTION__); - return MEMCACHED_WRITE_FAILURE; - } + memcached_return rrc; - if (sent_length != send_length) + rrc= memcached_do(ptr, x, buffer, send_length, 1); + if (rrc != MEMCACHED_SUCCESS) { - fprintf(stderr, "error %s: short write %d %d: %m\n", - __FUNCTION__, sent_length, send_length); - return MEMCACHED_WRITE_FAILURE; + rc= MEMCACHED_SOME_ERRORS; + continue; } - rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, x); - - if (rc != MEMCACHED_SUCCESS) + rrc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, x); + if (rrc != MEMCACHED_SUCCESS) rc= MEMCACHED_SOME_ERRORS; }