X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstring.h;h=01097a653edc1ee9563158fd256e5fd7266b5c93;hb=8c24eaae6772f7e27d6f638d3953d8c790068724;hp=8c57c8b0d2c9c7399862ed7acced698b41d1bf30;hpb=ae6bc7501efd5aeaaee92dabe2da0ec2d1625c5b;p=m6w6%2Flibmemcached diff --git a/libmemcached/string.h b/libmemcached/string.h index 8c57c8b0..01097a65 100644 --- a/libmemcached/string.h +++ b/libmemcached/string.h @@ -37,6 +37,8 @@ #pragma once +#include + /** Strings are always under our control so we make some assumptions about them. @@ -58,17 +60,12 @@ struct memcached_string_st { } options; }; -struct memcached_string_t { - size_t size; - const char *c_str; -}; - #ifdef __cplusplus extern "C" { #endif LIBMEMCACHED_LOCAL -memcached_string_st *memcached_string_create(const memcached_st *ptr, +memcached_string_st *memcached_string_create(memcached_st *ptr, memcached_string_st *string, size_t initial_size); LIBMEMCACHED_LOCAL @@ -98,6 +95,9 @@ size_t memcached_string_size(const memcached_string_st *self); LIBMEMCACHED_LOCAL const char *memcached_string_value(const memcached_string_st *self); +LIBMEMCACHED_LOCAL +char *memcached_string_take_value(memcached_string_st *self); + LIBMEMCACHED_LOCAL char *memcached_string_value_mutable(const memcached_string_st *self); @@ -107,17 +107,3 @@ void memcached_string_set_length(memcached_string_st *self, size_t length); #ifdef __cplusplus } #endif - -#ifdef BUILDING_LIBMEMCACHED - -#ifdef __cplusplus -#define memcached_string_with_size(X) (X), (static_cast((sizeof(X) - 1))) -#define memcached_string_make(X) (static_cast((sizeof(X) - 1))), (X) -#else -#define memcached_string_with_size(X) (X), ((size_t)((sizeof(X) - 1))) -#define memcached_string_make(X) (((size_t)((sizeof(X) - 1))), (X) -#endif - -#define memcached_string_make_from_cstr(X) (X), ((X) ? strlen(X) : 0) - -#endif