X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_fetch.c;h=8d281f35d182dd0758df03425cad4c7b24cdea0d;hb=3bd95102380ff8d9f2599f0965c09776344d0691;hp=ac4f49112c51e7c88e1a348b1bedf49b78511452;hpb=fdd0e00773ce7928205f725ba5319c94744471a0;p=awesomized%2Flibmemcached diff --git a/lib/memcached_fetch.c b/lib/memcached_fetch.c index ac4f4911..8d281f35 100644 --- a/lib/memcached_fetch.c +++ b/lib/memcached_fetch.c @@ -35,7 +35,7 @@ static memcached_return memcached_value_fetch(memcached_st *ptr, char *key, size { *key_length= 0; - for (; isalnum(*string_ptr); string_ptr++) + for (; isgraph(*string_ptr); string_ptr++) { *key= *string_ptr; key++; @@ -43,7 +43,7 @@ static memcached_return memcached_value_fetch(memcached_st *ptr, char *key, size } } else /* Skip characters */ - for (; isalnum(*string_ptr); string_ptr++); + for (; isgraph(*string_ptr); string_ptr++); if (end_ptr == string_ptr) goto read_error; @@ -147,6 +147,9 @@ char *memcached_fetch(memcached_st *ptr, char *key, size_t *key_length, memcached_string_st *result_buffer; result_buffer= &ptr->result_buffer; + if (ptr->flags & MEM_NO_BLOCK) + memcached_io_preread(ptr); + while (ptr->cursor_server < ptr->number_of_hosts) { if (!ptr->hosts[ptr->cursor_server].cursor_active) @@ -185,6 +188,9 @@ memcached_result_st *memcached_fetch_result(memcached_st *ptr, WATCHPOINT_ASSERT(result->value.is_allocated != MEMCACHED_USED); + if (ptr->flags & MEM_NO_BLOCK) + memcached_io_preread(ptr); + while (ptr->cursor_server < ptr->number_of_hosts) { if (!ptr->hosts[ptr->cursor_server].cursor_active)