X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=include%2Flibmemcached-1%2Fstruct%2Fstring.h;fp=include%2Flibmemcached-1%2Fstruct%2Fstring.h;h=aef7b9ff8f64250c88137e64456c39577a81c885;hb=3ffc968aaf182bf1ff1e18157c7bde2bdb41668d;hp=0000000000000000000000000000000000000000;hpb=a20205ad8b1a30fbc419e016a633b40b739073c7;p=awesomized%2Flibmemcached diff --git a/include/libmemcached-1/struct/string.h b/include/libmemcached-1/struct/string.h new file mode 100644 index 00000000..aef7b9ff --- /dev/null +++ b/include/libmemcached-1/struct/string.h @@ -0,0 +1,37 @@ +/* + +--------------------------------------------------------------------+ + | libmemcached - C/C++ Client Library for memcached | + +--------------------------------------------------------------------+ + | Redistribution and use in source and binary forms, with or without | + | modification, are permitted under the terms of the BSD license. | + | You should have received a copy of the license in a bundled file | + | named LICENSE; in case you did not receive a copy you can review | + | the terms online at: https://opensource.org/licenses/BSD-3-Clause | + +--------------------------------------------------------------------+ + | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ | + | Copyright (c) 2020 Michael Wallner | + +--------------------------------------------------------------------+ +*/ + +#pragma once + +/** + Strings are always under our control so we make some assumptions + about them. + + 1) is_initialized is always valid. + 2) A string once intialized will always be, until free where we + unset this flag. + 3) A string always has a root. +*/ + +struct memcached_string_st { + char *end; + char *string; + size_t current_size; + struct memcached_st *root; + struct { + bool is_allocated : 1; + bool is_initialized : 1; + } options; +};