X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fnamespace.cc;h=8278dd56337606cfa8dad3d4a803bd62ecf626ca;hb=51b26f0157fe827183eeb73bf27b67f6211f627e;hp=d9961e2959e64282656d6a2df66a04ebdac8ccf1;hpb=d8dedbd561c7cb57daf4192fe57ce5e205bcadd7;p=awesomized%2Flibmemcached diff --git a/libmemcached/namespace.cc b/libmemcached/namespace.cc index d9961e29..8278dd56 100644 --- a/libmemcached/namespace.cc +++ b/libmemcached/namespace.cc @@ -58,7 +58,7 @@ memcached_return_t memcached_set_namespace(memcached_st *self, const char *key, if (memcached_failed(memcached_key_test(*self, (const char **)&key, &key_length, 1))) { self->flags.verify_key= orig; - return memcached_set_error(*self, MEMCACHED_BAD_KEY_PROVIDED, MEMCACHED_AT); + return memcached_last_error(self); } self->flags.verify_key= orig; @@ -67,19 +67,27 @@ memcached_return_t memcached_set_namespace(memcached_st *self, const char *key, return memcached_set_error(*self, MEMCACHED_KEY_TOO_BIG, MEMCACHED_AT); } - memcached_array_free(self->prefix_key); - self->prefix_key= memcached_strcpy(self, key, key_length); + memcached_array_free(self->_namespace); + self->_namespace= memcached_strcpy(self, key, key_length); - if (not self->prefix_key) + if (not self->_namespace) { return memcached_set_error(*self, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT); } } else { - memcached_array_free(self->prefix_key); - self->prefix_key= NULL; + memcached_array_free(self->_namespace); + self->_namespace= NULL; } return MEMCACHED_SUCCESS; } + +const char * memcached_get_namespace(memcached_st *self) +{ + if (not self->_namespace) + return NULL; + + return memcached_array_string(self->_namespace); +}