else
rc= textual_read_one_response(ptr, buffer, buffer_length, result);
- unlikely(rc == MEMCACHED_UNKNOWN_READ_FAILURE ||
- rc == MEMCACHED_PROTOCOL_ERROR ||
- rc == MEMCACHED_CLIENT_ERROR ||
+ unlikely(rc == MEMCACHED_UNKNOWN_READ_FAILURE or
+ rc == MEMCACHED_PROTOCOL_ERROR or
+ rc == MEMCACHED_CLIENT_ERROR or
rc == MEMCACHED_MEMORY_ALLOCATION_FAILURE)
memcached_io_reset(ptr);
*/
to_read= (value_length) + 2;
memcached_return_t rrc= memcached_io_read(ptr, value_ptr, to_read, &read_length);
- if (memcached_failed(rrc))
+ if (memcached_failed(rrc) and rrc == MEMCACHED_IN_PROGRESS)
+ {
+ memcached_quit_server(ptr, true);
+ return memcached_set_error(*ptr, rrc, MEMCACHED_AT);
+ }
+ else if (memcached_failed(rrc))
+ {
return rrc;
+ }
}
if (read_length != (ssize_t)(value_length + 2))
char *char_ptr;
char_ptr= memcached_string_value_mutable(&result->value);;
char_ptr[value_length]= 0;
- char_ptr[value_length + 1]= 0;
+ char_ptr[value_length +1]= 0;
memcached_string_set_length(&result->value, value_length);
}
memcached_result_st *result)
{
memcached_return_t rc= memcached_io_readline(ptr, buffer, buffer_length);
- if (rc != MEMCACHED_SUCCESS)
+ if (memcached_failed(rc))
+ {
return rc;
+ }
switch(buffer[0])
{
header.response.keylen= ntohs(header.response.keylen);
header.response.status= ntohs(header.response.status);
header.response.bodylen= ntohl(header.response.bodylen);
- header.response.cas= ntohll(header.response.cas);
+ header.response.cas= memcached_ntohll(header.response.cas);
uint32_t bodylen= header.response.bodylen;
if (header.response.status == PROTOCOL_BINARY_RESPONSE_SUCCESS ||
return MEMCACHED_UNKNOWN_READ_FAILURE;
}
- val= ntohll(val);
+ val= memcached_ntohll(val);
memcpy(buffer, &val, sizeof(val));
}
break;