X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fcsl%2Fcontext.cc;h=16852d5b6da16038b05bb8d0938387f2808fb39c;hb=850df1fbab46a5a658c2fd0c35164ef1c60a22d9;hp=1e6e18ae588dae871732473346e4c05a1546e330;hpb=694f0966e3980f448c0ca9f9504e6d065e35654f;p=awesomized%2Flibmemcached diff --git a/libmemcached/csl/context.cc b/libmemcached/csl/context.cc index 1e6e18ae..16852d5b 100644 --- a/libmemcached/csl/context.cc +++ b/libmemcached/csl/context.cc @@ -97,13 +97,29 @@ void Context::error(const char *error_arg, yytokentype last_token, const char *l } } -const char *Context::set_hostname(const char *str, size_t size) +void Context::hostname(const char *str, size_t size, server_t& server_) { size_t copy_length= size_t(NI_MAXHOST) > size ? size : size_t(NI_MAXHOST); memcpy(_hostname, str, copy_length); _hostname[copy_length]= 0; - return _hostname; + server_.port= MEMCACHED_DEFAULT_PORT; + server_.weight= 1; + server_.c_str= _hostname; + server_.size= size; +} + +bool Context::string_buffer(const char *str, size_t size, memcached_string_t& string_) +{ + if (memcached_string_set(_string_buffer, str, size)) + { + string_.c_str= memcached_string_value(_string_buffer); + string_.size= memcached_string_length(_string_buffer); + + return true; + } + + return false; } bool Context::set_hash(memcached_hash_t hash)