X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fget.cc;h=c10f234171def1771630a0ed7e6557d1c3eb05e2;hb=c3136bce4decf4259ebb60ea2425b47017ad7bb1;hp=3c91b495fc527f009cdb8dd5b68023d198fae5e9;hpb=d63f10a9af5e838f2accccc686372b6d44227057;p=awesomized%2Flibmemcached diff --git a/libmemcached/get.cc b/libmemcached/get.cc index 3c91b495..c10f2341 100644 --- a/libmemcached/get.cc +++ b/libmemcached/get.cc @@ -68,12 +68,16 @@ char *memcached_get_by_key(memcached_st *ptr, { memcached_return_t unused; if (error == NULL) + { error= &unused; + } - unlikely (ptr->flags.use_udp) + if (ptr->flags.use_udp) { if (value_length) + { *value_length= 0; + } *error= memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT); return NULL; @@ -298,10 +302,10 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr, struct libmemcached_io_vector_st vector[]= { - { get_command_length, get_command }, - { memcached_array_size(ptr->_namespace), memcached_array_string(ptr->_namespace) }, - { key_length[x], keys[x] }, - { 1, " " } + { get_command, get_command_length }, + { memcached_array_string(ptr->_namespace), memcached_array_size(ptr->_namespace) }, + { keys[x], key_length[x] }, + { memcached_literal_param(" ") } }; @@ -418,7 +422,9 @@ memcached_return_t memcached_mget_execute_by_key(memcached_st *ptr, unsigned int number_of_callbacks) { if ((ptr->flags.binary_protocol) == 0) + { return MEMCACHED_NOT_SUPPORTED; + } memcached_return_t rc; memcached_callback_st *original_callbacks= ptr->callbacks; @@ -500,9 +506,9 @@ static memcached_return_t simple_binary_mget(memcached_st *ptr, struct libmemcached_io_vector_st vector[]= { - { sizeof(request.bytes), request.bytes }, - { memcached_array_size(ptr->_namespace), memcached_array_string(ptr->_namespace) }, - { key_length[x], keys[x] } + { request.bytes, sizeof(request.bytes) }, + { memcached_array_string(ptr->_namespace), memcached_array_size(ptr->_namespace) }, + { keys[x], key_length[x] } }; if (memcached_io_writev(instance, vector, 3, flush) == -1) @@ -634,9 +640,9 @@ static memcached_return_t replication_binary_mget(memcached_st *ptr, */ struct libmemcached_io_vector_st vector[]= { - { sizeof(request.bytes), request.bytes }, - { memcached_array_size(ptr->_namespace), memcached_array_string(ptr->_namespace) }, - { key_length[x], keys[x] } + { request.bytes, sizeof(request.bytes) }, + { memcached_array_string(ptr->_namespace), memcached_array_size(ptr->_namespace) }, + { keys[x], key_length[x] } }; if (memcached_io_writev(instance, vector, 3, true) == -1) @@ -652,7 +658,9 @@ static memcached_return_t replication_binary_mget(memcached_st *ptr, } if (success) + { break; + } } return rc; @@ -672,8 +680,8 @@ static memcached_return_t binary_mget_by_key(memcached_st *ptr, keys, key_length, number_of_keys, mget_mode); } - uint32_t* hash= static_cast(libmemcached_malloc(ptr, sizeof(uint32_t) * number_of_keys)); - bool* dead_servers= static_cast(libmemcached_calloc(ptr, memcached_server_count(ptr), sizeof(bool))); + uint32_t* hash= libmemcached_xvalloc(ptr, number_of_keys, uint32_t); + bool* dead_servers= libmemcached_xcalloc(ptr, memcached_server_count(ptr), bool); if (hash == NULL || dead_servers == NULL) {