struct memcached_string_st {
memcached_st *root;
- memcached_allocated is_allocated;
- char *string;
char *end;
+ char *string;
size_t current_size;
size_t block_size;
+ bool is_allocated;
};
#define memcached_string_length(A) (size_t)((A)->end - (A)->string)
#define memcached_string_size(A) (A)->current_size
#define memcached_string_value(A) (A)->string
+LIBMEMCACHED_API
memcached_string_st *memcached_string_create(memcached_st *ptr,
memcached_string_st *string,
size_t initial_size);
+LIBMEMCACHED_API
memcached_return memcached_string_check(memcached_string_st *string, size_t need);
+LIBMEMCACHED_API
char *memcached_string_c_copy(memcached_string_st *string);
+LIBMEMCACHED_API
memcached_return memcached_string_append_character(memcached_string_st *string,
char character);
+LIBMEMCACHED_API
memcached_return memcached_string_append(memcached_string_st *string,
- char *value, size_t length);
-size_t memcached_string_backspace(memcached_string_st *string, size_t remove);
+ const char *value, size_t length);
+LIBMEMCACHED_API
memcached_return memcached_string_reset(memcached_string_st *string);
+LIBMEMCACHED_API
void memcached_string_free(memcached_string_st *string);
#ifdef __cplusplus