X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Ffetch.cc;h=ff729f9e59942df907003c90cc0ce5254d85211f;hb=14ed08eb76405aed0747568326058ab57c5e69a2;hp=2fd0dc51e845a96a4f02194ec6e9679958936bdb;hpb=999006a8904a0f08293f1df7bda81bff914b091a;p=awesomized%2Flibmemcached diff --git a/libmemcached/fetch.cc b/libmemcached/fetch.cc index 2fd0dc51..ff729f9e 100644 --- a/libmemcached/fetch.cc +++ b/libmemcached/fetch.cc @@ -2,7 +2,7 @@ * * Libmemcached library * - * Copyright (C) 2011 Data Differential, http://datadifferential.com/ + * Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/ * Copyright (C) 2006-2009 Brian Aker All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,7 +42,6 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, uint32_t *flags, memcached_return_t *error) { - memcached_result_st *result_buffer= &ptr->result; memcached_return_t unused; if (error == NULL) { @@ -75,6 +74,7 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, return NULL; } + memcached_result_st *result_buffer= &ptr->result; result_buffer= memcached_fetch_result(ptr, result_buffer, error); if (result_buffer == NULL or memcached_failed(*error)) { @@ -191,8 +191,9 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, } *error= MEMCACHED_MAXIMUM_RETURN; // We use this to see if we ever go into the loop - memcached_instance_st *server; - while ((server= memcached_io_get_readable_server(ptr))) + org::libmemcached::Instance *server; + memcached_return_t read_ret= MEMCACHED_SUCCESS; + while ((server= memcached_io_get_readable_server(ptr, read_ret))) { char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; *error= memcached_response(server, buffer, sizeof(buffer), result);