memcached_io_reset(ptr);
return MEMCACHED_CLIENT_ERROR;
default:
- memcached_io_reset(ptr);
- return MEMCACHED_UNKNOWN_READ_FAILURE;
+ {
+ unsigned long long auto_return_value;
+
+ if (sscanf(buffer, "%llu", &auto_return_value) == 1)
+ return MEMCACHED_SUCCESS;
+
+ memcached_io_reset(ptr);
+
+ return MEMCACHED_UNKNOWN_READ_FAILURE;
+ }
}
static memcached_return safe_read(memcached_server_st *ptr, void *dta,
size_t size)
{
- int offset= 0;
+ size_t offset= 0;
char *data= dta;
+
while (offset < size)
{
ssize_t nread= memcached_io_read(ptr, data + offset, size - offset);