return MEMCACHED_E2BIG;
}
- if (total_read >= memcached_literal_param_size("SERVER_ERROR out of memory storing object") and
- (memcmp(buffer, memcached_literal_param("SERVER_ERROR out of memory storing object")) == 0))
+ if (total_read >= memcached_literal_param_size("SERVER_ERROR out of memory") and
+ ((memcmp(buffer, memcached_literal_param("SERVER_ERROR out of memory")) == 0) or
+ (memcmp(buffer, memcached_literal_param("SERVER_ERROR Out of memory")) == 0)))
{
return MEMCACHED_SERVER_MEMORY_ALLOCATION_FAILURE;
}
* (only the final NOOP), so we need to increment the counter again.
*/
memcached_server_response_increment(instance);
- /* FALLTHROUGH */
+ /* fall through */
case PROTOCOL_BINARY_CMD_GETK:
{
uint16_t keylen= header.response.keylen;
case PROTOCOL_BINARY_CMD_REPLACEQ:
case PROTOCOL_BINARY_CMD_APPENDQ:
case PROTOCOL_BINARY_CMD_PREPENDQ:
- return binary_read_one_response(instance, buffer, buffer_length, result);
+ return MEMCACHED_FETCH_NOTFINISHED;
default:
break;
memcached_return_t rc;
if (memcached_is_binary(instance->root))
{
- rc= binary_read_one_response(instance, buffer, buffer_length, result);
+ do {
+ rc= binary_read_one_response(instance, buffer, buffer_length, result);
+ } while (rc == MEMCACHED_FETCH_NOTFINISHED);
}
else
{