X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_fetch.c;h=dbb1ff62e931b51e9c22a50062122205c4e9333c;hb=b4de8d3fd063b9017797dd9809ab3acb8a537606;hp=e9939890472c3ee8e12663d94ee021685b608978;hpb=1d3aea18eadb5a2ca6893ab860bb5dbace09b94a;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_fetch.c b/libmemcached/memcached_fetch.c index e9939890..dbb1ff62 100644 --- a/libmemcached/memcached_fetch.c +++ b/libmemcached/memcached_fetch.c @@ -4,11 +4,11 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, size_t *value_length, uint32_t *flags, - memcached_return *error) + memcached_return_t *error) { memcached_result_st *result_buffer= &ptr->result; - unlikely (ptr->flags & MEM_USE_UDP) + unlikely (ptr->flags.use_udp) { *error= MEMCACHED_NOT_SUPPORTED; return NULL; @@ -16,8 +16,9 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, result_buffer= memcached_fetch_result(ptr, result_buffer, error); - if (*error != MEMCACHED_SUCCESS || result_buffer == NULL) + if (result_buffer == NULL || *error != MEMCACHED_SUCCESS) { + WATCHPOINT_ASSERT(result_buffer == NULL); *value_length= 0; return NULL; } @@ -40,11 +41,11 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, memcached_result_st *memcached_fetch_result(memcached_st *ptr, memcached_result_st *result, - memcached_return *error) + memcached_return_t *error) { memcached_server_st *server; - unlikely (ptr->flags & MEM_USE_UDP) + unlikely (ptr->flags.use_udp) { *error= MEMCACHED_NOT_SUPPORTED; return NULL; @@ -54,7 +55,8 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, if ((result= memcached_result_create(ptr, NULL)) == NULL) return NULL; - while ((server = memcached_io_get_readable_server(ptr)) != NULL) { + while ((server = memcached_io_get_readable_server(ptr)) != NULL) + { char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE]; *error= memcached_response(server, buffer, sizeof(buffer), result); @@ -62,29 +64,34 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, return result; else if (*error == MEMCACHED_END) memcached_server_response_reset(server); - else + else if (*error != MEMCACHED_NOTFOUND) break; } /* We have completed reading data */ - if (result->is_allocated) + if (memcached_is_allocated(result)) + { memcached_result_free(result); + } else + { memcached_string_reset(&result->value); + } return NULL; } -memcached_return memcached_fetch_execute(memcached_st *ptr, - memcached_execute_function *callback, - void *context, - unsigned int number_of_callbacks) +memcached_return_t memcached_fetch_execute(memcached_st *ptr, + memcached_execute_fn *callback, + void *context, + uint32_t number_of_callbacks) { memcached_result_st *result= &ptr->result; - memcached_return rc= MEMCACHED_FAILURE; + memcached_return_t rc= MEMCACHED_FAILURE; unsigned int x; - while ((result= memcached_fetch_result(ptr, result, &rc)) != NULL) { + while ((result= memcached_fetch_result(ptr, result, &rc)) != NULL) + { if (rc == MEMCACHED_SUCCESS) { for (x= 0; x < number_of_callbacks; x++)