X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcallback.c;h=dcb3ddeb17d0f87a3235f6b7042e8d26fa65c1bd;hb=259ed7e68a0de0887e9aedbe0aa5fdd9404929f9;hp=6d5285a5fe1416170de6381b64b1571e3f28efb3;hpb=3dee67d04099cc5e2986ed94aa612f429f54d6fb;p=m6w6%2Flibmemcached diff --git a/libmemcached/callback.c b/libmemcached/callback.c index 6d5285a5..dcb3ddeb 100644 --- a/libmemcached/callback.c +++ b/libmemcached/callback.c @@ -9,7 +9,7 @@ * */ -#include "common.h" +#include "libmemcached/common.h" #include /* @@ -24,31 +24,7 @@ memcached_return_t memcached_callback_set(memcached_st *ptr, { case MEMCACHED_CALLBACK_PREFIX_KEY: { - char *key= (char *)data; - - if (key) - { - size_t key_length= strlen(key); - - if (memcached_key_test((const char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED) - return memcached_set_error(ptr, MEMCACHED_BAD_KEY_PROVIDED, NULL); - - if ((key_length > MEMCACHED_PREFIX_KEY_MAX_SIZE -1)) - return memcached_set_error(ptr, MEMCACHED_KEY_TOO_BIG, NULL); - - memcached_array_free(ptr->prefix_key); - ptr->prefix_key= memcached_strcpy(ptr, (const char *)data, strlen((const char*)data)); - - if (! ptr->prefix_key) - return memcached_set_error(ptr, MEMCACHED_MEMORY_ALLOCATION_FAILURE, NULL); - } - else - { - memcached_array_free(ptr->prefix_key); - ptr->prefix_key= NULL; - } - - break; + return memcached_set_prefix_key(ptr, (char*)data, data ? strlen((char*)data) : 0); } case MEMCACHED_CALLBACK_USER_DATA: {