X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_response.c;h=193bfd8c2c3b3ad6f5fafd469504688e24cfcace;hb=7582050eb5e2bdc7e055c84d639a7cb5b407cd4c;hp=554169300fa61a279029d903a7359bb2a16a62c4;hpb=29da9304fc64e62ae3c80916bac92d38c41f7f79;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached_response.c b/libmemcached/memcached_response.c index 55416930..193bfd8c 100644 --- a/libmemcached/memcached_response.c +++ b/libmemcached/memcached_response.c @@ -80,7 +80,6 @@ static memcached_return textual_value_fetch(memcached_server_st *ptr, char *end_ptr; char *next_ptr; size_t value_length; - size_t read_length; size_t to_read; char *value_ptr; @@ -167,7 +166,6 @@ static memcached_return textual_value_fetch(memcached_server_st *ptr, } value_ptr= memcached_string_value(&result->value); - read_length= 0; /* We read the \r\n into the string since not doing so is more cycles then the waster of memory to do so. @@ -176,8 +174,12 @@ static memcached_return textual_value_fetch(memcached_server_st *ptr, some people lazy about using the return length. */ to_read= (value_length) + 2; - read_length= memcached_io_read(ptr, value_ptr, to_read); - if (read_length != (size_t)(value_length + 2)) + ssize_t read_length= 0; + memcached_return rrc= memcached_io_read(ptr, value_ptr, to_read, &read_length); + if (rrc != MEMCACHED_SUCCESS) + return rrc; + + if (read_length != (ssize_t)(value_length + 2)) { goto read_error; }