X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_response.c;h=d649922b0da164354d91bd276e16fadf8f44838b;hb=85a66fec1e07e874e5410ce56a2976d68fbe14fd;hp=42a06411175db1e664ac80e5d5bef1cc748c0324;hpb=8c34786ea9d4b879bf5c5cf7ad811836f0d1f37f;p=m6w6%2Flibmemcached diff --git a/lib/memcached_response.c b/lib/memcached_response.c index 42a06411..d649922b 100644 --- a/lib/memcached_response.c +++ b/lib/memcached_response.c @@ -12,28 +12,33 @@ memcached_return memcached_response(memcached_st *ptr, char *buffer, size_t buffer_length, unsigned int server_key) { + unsigned int x; size_t send_length; char *buffer_ptr; memset(buffer, 0, buffer_length); send_length= 0; - buffer_ptr= buffer; - while (1) + for (x= 0; x <= ptr->stack_responses; x++) { - unsigned int read_length; + buffer_ptr= buffer; + while (1) + { + unsigned int read_length; - read_length= memcached_io_read(ptr, server_key, - buffer_ptr, 1); + read_length= memcached_io_read(ptr, server_key, + buffer_ptr, 1); - if (read_length != 1) - return MEMCACHED_UNKNOWN_READ_FAILURE; + if (read_length != 1) + return MEMCACHED_UNKNOWN_READ_FAILURE; - if (*buffer_ptr == '\n') - break; - else - buffer_ptr++; + if (*buffer_ptr == '\n') + break; + else + buffer_ptr++; + } } + ptr->stack_responses= 0; switch(buffer[0]) {