X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fauto.cc;h=85e2ae091ace02aae5822f8d16f5a91bf533ccc1;hb=5db4ece0e8254a205d10e8fda842120a001c17c8;hp=4196b6683deb4fc8a8affa6db2bd29ca584a4103;hpb=facfe08e21d2c3135c508ff098ff603ddaacef3e;p=awesomized%2Flibmemcached diff --git a/libmemcached/auto.cc b/libmemcached/auto.cc index 4196b668..85e2ae09 100644 --- a/libmemcached/auto.cc +++ b/libmemcached/auto.cc @@ -52,13 +52,14 @@ static void auto_response(org::libmemcached::Instance* instance, const bool repl rc= memcached_response(instance, &instance->root->result); } - if (memcached_success(rc)) + if (memcached_fatal(rc)) { - *value= instance->root->result.numeric_value; + assert(memcached_last_error(instance->root) != MEMCACHED_SUCCESS); + *value= UINT64_MAX; } else { - *value= UINT64_MAX; + *value= instance->root->result.numeric_value; } } @@ -149,7 +150,7 @@ memcached_return_t memcached_increment(memcached_st *memc, } static memcached_return_t increment_decrement_by_key(const protocol_binary_command command, - memcached_st *memc, + Memcached *memc, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, @@ -204,7 +205,7 @@ static memcached_return_t increment_decrement_by_key(const protocol_binary_comma } static memcached_return_t increment_decrement_with_initial_by_key(const protocol_binary_command command, - memcached_st *memc, + Memcached *memc, const char *group_key, size_t group_key_length, const char *key, @@ -270,12 +271,13 @@ memcached_return_t memcached_decrement(memcached_st *memc, } -memcached_return_t memcached_increment_by_key(memcached_st *memc, +memcached_return_t memcached_increment_by_key(memcached_st *shell, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value) { + Memcached* memc= memcached2Memcached(shell); LIBMEMCACHED_MEMCACHED_INCREMENT_START(); memcached_return_t rc= increment_decrement_by_key(PROTOCOL_BINARY_CMD_INCREMENT, memc, @@ -288,12 +290,13 @@ memcached_return_t memcached_increment_by_key(memcached_st *memc, return rc; } -memcached_return_t memcached_decrement_by_key(memcached_st *memc, +memcached_return_t memcached_decrement_by_key(memcached_st *shell, const char *group_key, size_t group_key_length, const char *key, size_t key_length, uint64_t offset, uint64_t *value) { + Memcached* memc= memcached2Memcached(shell); LIBMEMCACHED_MEMCACHED_DECREMENT_START(); memcached_return_t rc= increment_decrement_by_key(PROTOCOL_BINARY_CMD_DECREMENT, memc, @@ -318,7 +321,7 @@ memcached_return_t memcached_increment_with_initial(memcached_st *memc, offset, initial, expiration, value); } -memcached_return_t memcached_increment_with_initial_by_key(memcached_st *memc, +memcached_return_t memcached_increment_with_initial_by_key(memcached_st *shell, const char *group_key, size_t group_key_length, const char *key, @@ -329,6 +332,7 @@ memcached_return_t memcached_increment_with_initial_by_key(memcached_st *memc, uint64_t *value) { LIBMEMCACHED_MEMCACHED_INCREMENT_WITH_INITIAL_START(); + Memcached* memc= memcached2Memcached(shell); memcached_return_t rc= increment_decrement_with_initial_by_key(PROTOCOL_BINARY_CMD_INCREMENT, memc, group_key, group_key_length, @@ -352,7 +356,7 @@ memcached_return_t memcached_decrement_with_initial(memcached_st *memc, offset, initial, expiration, value); } -memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *memc, +memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *shell, const char *group_key, size_t group_key_length, const char *key, @@ -363,6 +367,7 @@ memcached_return_t memcached_decrement_with_initial_by_key(memcached_st *memc, uint64_t *value) { LIBMEMCACHED_MEMCACHED_INCREMENT_WITH_INITIAL_START(); + Memcached* memc= memcached2Memcached(shell); memcached_return_t rc= increment_decrement_with_initial_by_key(PROTOCOL_BINARY_CMD_DECREMENT, memc, group_key, group_key_length,