X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstorage.c;h=abc5b7ca21af675f352984bc89ec8b93047745e0;hb=f9f501287ffa6a2c69a9033536d3b6f14db34204;hp=6225af3732b15934db4d94df5e8b02be3dd95f63;hpb=04ef974c23973986d4475e3cb8a876012264e2da;p=awesomized%2Flibmemcached diff --git a/libmemcached/storage.c b/libmemcached/storage.c index 6225af37..abc5b7ca 100644 --- a/libmemcached/storage.c +++ b/libmemcached/storage.c @@ -488,12 +488,14 @@ static memcached_return_t memcached_send_binary(memcached_st *ptr, } /* write the header */ - if ((memcached_do(server, (const char*)request.bytes, send_length, false) != MEMCACHED_SUCCESS) || + memcached_return_t rc; + if (((rc= memcached_do(server, (const char*)request.bytes, + send_length, false)) != MEMCACHED_SUCCESS) || (memcached_io_write(server, key, key_length, false) == -1) || (memcached_io_write(server, value, value_length, flush) == -1)) { memcached_io_reset(server); - return MEMCACHED_WRITE_FAILURE; + return (rc == MEMCACHED_SUCCESS) ? MEMCACHED_WRITE_FAILURE : rc; } unlikely (verb == SET_OP && ptr->number_of_replicas > 0)