X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcached%2Fresponse.cc;h=d39451332633946641585a0311d132d39891657b;hb=48dcc61a4919f6f3d5ee164630a843f2d8b8ade9;hp=ffd361e3dc3ad94d83b5b43a06decec877091344;hpb=c8a5aecba8e189092266f304ca81ab42625edf60;p=awesomized%2Flibmemcached diff --git a/src/libmemcached/response.cc b/src/libmemcached/response.cc index ffd361e3..d3945133 100644 --- a/src/libmemcached/response.cc +++ b/src/libmemcached/response.cc @@ -1,6 +1,6 @@ /* +--------------------------------------------------------------------+ - | libmemcached - C/C++ Client Library for memcached | + | libmemcached-awesome - C/C++ Client Library for memcached | +--------------------------------------------------------------------+ | Redistribution and use in source and binary forms, with or without | | modification, are permitted under the terms of the BSD license. | @@ -9,7 +9,7 @@ | the terms online at: https://opensource.org/licenses/BSD-3-Clause | +--------------------------------------------------------------------+ | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ | - | Copyright (c) 2020 Michael Wallner | + | Copyright (c) 2020-2021 Michael Wallner https://awesome.co/ | +--------------------------------------------------------------------+ */ @@ -66,7 +66,7 @@ static memcached_return_t textual_value_fetch(memcached_instance_st *instance, c errno = 0; result->item_flags = (uint32_t) strtoul(next_ptr, &string_ptr, 10); - if (errno != 0 or end_ptr == string_ptr) { + if (errno or end_ptr == string_ptr) { goto read_error; } @@ -81,7 +81,7 @@ static memcached_return_t textual_value_fetch(memcached_instance_st *instance, c errno = 0; value_length = (size_t) strtoull(next_ptr, &string_ptr, 10); - if (errno != 0 or end_ptr == string_ptr) { + if (errno or end_ptr == string_ptr) { goto read_error; } @@ -97,7 +97,7 @@ static memcached_return_t textual_value_fetch(memcached_instance_st *instance, c result->item_cas = strtoull(next_ptr, &string_ptr, 10); } - if (errno != 0 or end_ptr < string_ptr) { + if (errno or end_ptr < string_ptr) { goto read_error; } @@ -197,12 +197,12 @@ static memcached_return_t textual_read_one_response(memcached_instance_st *insta and buffer[5] == 'O' and buffer[6] == 'N') /* VERSION */ { /* Find the space, and then move one past it to copy version */ - char *response_ptr = index(buffer, ' '); + char *response_ptr = strchr(buffer, ' '); char *endptr; errno = 0; long int version = strtol(response_ptr, &endptr, 10); - if (errno != 0 or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX + if (errno or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX or version == 0) { instance->major_version = instance->minor_version = instance->micro_version = UINT8_MAX; return memcached_set_error( @@ -214,7 +214,7 @@ static memcached_return_t textual_read_one_response(memcached_instance_st *insta endptr++; errno = 0; version = strtol(endptr, &endptr, 10); - if (errno != 0 or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { + if (errno or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { instance->major_version = instance->minor_version = instance->micro_version = UINT8_MAX; return memcached_set_error( *instance, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT, @@ -225,7 +225,7 @@ static memcached_return_t textual_read_one_response(memcached_instance_st *insta endptr++; errno = 0; version = strtol(endptr, &endptr, 10); - if (errno != 0 or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { + if (errno or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { instance->major_version = instance->minor_version = instance->micro_version = UINT8_MAX; return memcached_set_error( *instance, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT, @@ -409,7 +409,7 @@ static memcached_return_t textual_read_one_response(memcached_instance_st *insta result->numeric_value = UINT64_MAX; return memcached_set_error(*instance, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT, memcached_literal_param("Numeric response was out of range")); - } else if (errno != 0) { + } else if (errno) { result->numeric_value = UINT64_MAX; return memcached_set_error(*instance, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT, memcached_literal_param("Numeric response was out of range")); @@ -421,7 +421,8 @@ static memcached_return_t textual_read_one_response(memcached_instance_st *insta return MEMCACHED_SUCCESS; } - default: break; + default: + break; } buffer[total_read] = 0; @@ -543,7 +544,7 @@ static memcached_return_t binary_read_one_response(memcached_instance_st *instan } break; case PROTOCOL_BINARY_CMD_SASL_LIST_MECHS: { - if (header.response.keylen != 0 || bodylen + 1 > buffer_length) { + if (header.response.keylen || bodylen + 1 > buffer_length) { return MEMCACHED_UNKNOWN_READ_FAILURE; } else { if ((rc = memcached_safe_read(instance, buffer, bodylen)) != MEMCACHED_SUCCESS) { @@ -563,7 +564,7 @@ static memcached_return_t binary_read_one_response(memcached_instance_st *instan char *endptr; errno = 0; long int version = strtol(version_buffer, &endptr, 10); - if (errno != 0 or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX + if (errno or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX or version == 0) { instance->major_version = instance->minor_version = instance->micro_version = UINT8_MAX; return memcached_set_error( @@ -575,7 +576,7 @@ static memcached_return_t binary_read_one_response(memcached_instance_st *instan endptr++; errno = 0; version = strtol(endptr, &endptr, 10); - if (errno != 0 or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { + if (errno or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { instance->major_version = instance->minor_version = instance->micro_version = UINT8_MAX; return memcached_set_error( *instance, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT, @@ -586,7 +587,7 @@ static memcached_return_t binary_read_one_response(memcached_instance_st *instan endptr++; errno = 0; version = strtol(endptr, &endptr, 10); - if (errno != 0 or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { + if (errno or version == LONG_MIN or version == LONG_MAX or version > UINT8_MAX) { instance->major_version = instance->minor_version = instance->micro_version = UINT8_MAX; return memcached_set_error( *instance, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT, @@ -691,28 +692,44 @@ static memcached_return_t binary_read_one_response(memcached_instance_st *instan case PROTOCOL_BINARY_CMD_ADDQ: case PROTOCOL_BINARY_CMD_REPLACEQ: case PROTOCOL_BINARY_CMD_APPENDQ: - case PROTOCOL_BINARY_CMD_PREPENDQ: return MEMCACHED_FETCH_NOTFINISHED; + case PROTOCOL_BINARY_CMD_PREPENDQ: + return MEMCACHED_FETCH_NOTFINISHED; - default: break; + default: + break; } } rc = MEMCACHED_SUCCESS; - if (header.response.status != 0) { + if (header.response.status) { switch (header.response.status) { - case PROTOCOL_BINARY_RESPONSE_KEY_ENOENT: rc = MEMCACHED_NOTFOUND; break; + case PROTOCOL_BINARY_RESPONSE_KEY_ENOENT: + rc = MEMCACHED_NOTFOUND; + break; - case PROTOCOL_BINARY_RESPONSE_KEY_EEXISTS: rc = MEMCACHED_DATA_EXISTS; break; + case PROTOCOL_BINARY_RESPONSE_KEY_EEXISTS: + rc = MEMCACHED_DATA_EXISTS; + break; - case PROTOCOL_BINARY_RESPONSE_NOT_STORED: rc = MEMCACHED_NOTSTORED; break; + case PROTOCOL_BINARY_RESPONSE_NOT_STORED: + rc = MEMCACHED_NOTSTORED; + break; - case PROTOCOL_BINARY_RESPONSE_E2BIG: rc = MEMCACHED_E2BIG; break; + case PROTOCOL_BINARY_RESPONSE_E2BIG: + rc = MEMCACHED_E2BIG; + break; - case PROTOCOL_BINARY_RESPONSE_ENOMEM: rc = MEMCACHED_MEMORY_ALLOCATION_FAILURE; break; + case PROTOCOL_BINARY_RESPONSE_ENOMEM: + rc = MEMCACHED_MEMORY_ALLOCATION_FAILURE; + break; - case PROTOCOL_BINARY_RESPONSE_AUTH_CONTINUE: rc = MEMCACHED_AUTH_CONTINUE; break; + case PROTOCOL_BINARY_RESPONSE_AUTH_CONTINUE: + rc = MEMCACHED_AUTH_CONTINUE; + break; - case PROTOCOL_BINARY_RESPONSE_AUTH_ERROR: rc = MEMCACHED_AUTH_FAILURE; break; + case PROTOCOL_BINARY_RESPONSE_AUTH_ERROR: + rc = MEMCACHED_AUTH_FAILURE; + break; case PROTOCOL_BINARY_RESPONSE_EINVAL: case PROTOCOL_BINARY_RESPONSE_UNKNOWN_COMMAND: @@ -744,7 +761,7 @@ static memcached_return_t _read_one_response(memcached_instance_st *instance, ch rc = textual_read_one_response(instance, buffer, buffer_length, result); } - if (memcached_fatal(rc) && rc != MEMCACHED_TIMEOUT) { + if (memcached_fatal(rc)) { memcached_io_reset(instance); }