X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_auto.c;h=c847f9369e095391696cde34b66b8147021ac6bc;hb=f562c49d93b63a33b4c914a1c5b0ec43576aaafc;hp=a607ed66e23298881c2ee5bfd6d3ea429aafbb62;hpb=34a8c3858f30b02568c87f56a827f618aba6d6be;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_auto.c b/libmemcached/memcached_auto.c index a607ed66..c847f936 100644 --- a/libmemcached/memcached_auto.c +++ b/libmemcached/memcached_auto.c @@ -1,8 +1,8 @@ #include "common.h" static memcached_return memcached_auto(memcached_st *ptr, - char *verb, - char *key, size_t key_length, + const char *verb, + const char *key, size_t key_length, unsigned int offset, uint64_t *value) { @@ -17,13 +17,14 @@ static memcached_return memcached_auto(memcached_st *ptr, unlikely (ptr->hosts == NULL || ptr->number_of_hosts == 0) return MEMCACHED_NO_SERVERS; - if ((ptr->flags & MEM_VERIFY_KEY) && (memcachd_key_test(&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) + if ((ptr->flags & MEM_VERIFY_KEY) && (memcachd_key_test((char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED)) return MEMCACHED_BAD_KEY_PROVIDED; server_key= memcached_generate_hash(ptr, key, key_length); send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, - "%s %.*s %u\r\n", verb, + "%s %s%.*s %u\r\n", verb, + ptr->prefix_key, (int)key_length, key, offset); unlikely (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE) @@ -54,7 +55,7 @@ static memcached_return memcached_auto(memcached_st *ptr, } else { - *value= (uint64_t)strtoll(buffer, (char **)NULL, 10); + *value= strtoull(buffer, (char **)NULL, 10); rc= MEMCACHED_SUCCESS; } @@ -62,7 +63,7 @@ static memcached_return memcached_auto(memcached_st *ptr, } memcached_return memcached_increment(memcached_st *ptr, - char *key, size_t key_length, + const char *key, size_t key_length, uint32_t offset, uint64_t *value) { @@ -76,7 +77,7 @@ memcached_return memcached_increment(memcached_st *ptr, } memcached_return memcached_decrement(memcached_st *ptr, - char *key, size_t key_length, + const char *key, size_t key_length, uint32_t offset, uint64_t *value) {