X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcallback.cc;h=84f99359d78d138e697ca80f8b84f1107fc82c4d;hb=3e87de62b0b39279bdec62a07b45e42fe798fd41;hp=9818af4f860e139c543ce84f311092c6533e83c8;hpb=ae6bc7501efd5aeaaee92dabe2da0ec2d1625c5b;p=m6w6%2Flibmemcached diff --git a/libmemcached/callback.cc b/libmemcached/callback.cc index 9818af4f..84f99359 100644 --- a/libmemcached/callback.cc +++ b/libmemcached/callback.cc @@ -12,7 +12,9 @@ #include #include +#ifndef __INTEL_COMPILER #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif /* These functions provide data and function callback support @@ -20,17 +22,17 @@ memcached_return_t memcached_callback_set(memcached_st *ptr, const memcached_callback_t flag, - void *data) + const void *data) { switch (flag) { case MEMCACHED_CALLBACK_PREFIX_KEY: { - return memcached_set_prefix_key(ptr, (char*)data, data ? strlen((char*)data) : 0); + return memcached_set_namespace(ptr, (char*)data, data ? strlen((char*)data) : 0); } case MEMCACHED_CALLBACK_USER_DATA: { - ptr->user_data= data; + ptr->user_data= const_cast(data); break; } case MEMCACHED_CALLBACK_CLEANUP_FUNCTION: @@ -78,7 +80,6 @@ memcached_return_t memcached_callback_set(memcached_st *ptr, break; } case MEMCACHED_CALLBACK_MAX: - default: return MEMCACHED_FAILURE; } @@ -91,17 +92,19 @@ void *memcached_callback_get(memcached_st *ptr, { memcached_return_t local_error; - if (!error) + if (error == NULL) + { error = &local_error; + } switch (flag) { case MEMCACHED_CALLBACK_PREFIX_KEY: { - if (ptr->prefix_key) + if (ptr->_namespace) { *error= MEMCACHED_SUCCESS; - return (void *)memcached_array_string(ptr->prefix_key); + return (void *)memcached_array_string(ptr->_namespace); } else { @@ -153,7 +156,7 @@ void *memcached_callback_get(memcached_st *ptr, } case MEMCACHED_CALLBACK_MAX: default: - WATCHPOINT_ASSERT(0); + assert_msg(0, "Invalid behavior passed to memcached_behavior_set()"); *error= MEMCACHED_FAILURE; return NULL; }