X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fstring.h;h=01097a653edc1ee9563158fd256e5fd7266b5c93;hb=3e87de62b0b39279bdec62a07b45e42fe798fd41;hp=50ad98bbe3baf2ded7de6973bec153ca1051cc4b;hpb=9cde1fdc1bbd49775c75a83e44c942354129f1d5;p=m6w6%2Flibmemcached diff --git a/libmemcached/string.h b/libmemcached/string.h index 50ad98bb..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,23 +60,12 @@ struct memcached_string_st { } options; }; -struct memcached_string_t { - size_t size; - const char *c_str; -}; - -#define memcached_size(X) (X).size; -#define memcached_c_str(X) (X).c_str; -#define memcached_string_param(X) (X).c_str, (X).size - -#ifdef BUILDING_LIBMEMCACHED - #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 @@ -104,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); @@ -113,15 +107,3 @@ void memcached_string_set_length(memcached_string_st *self, size_t length); #ifdef __cplusplus } #endif - -#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