projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
cmake: compat
[m6w6/libmemcached]
/
libmemcached
/
csl
/
context.h
diff --git
a/libmemcached/csl/context.h
b/libmemcached/csl/context.h
index 77fac219bdd79ed2ecca1fd634af9e76c5ca5935..64d1f2f35028b02052eba95493145c8cc06cf720 100644
(file)
--- a/
libmemcached/csl/context.h
+++ b/
libmemcached/csl/context.h
@@
-37,30
+37,34
@@
#pragma once
#pragma once
-#include
<libmemcached/csl/common.h>
-#include
<libmemcached/csl/parser.h>
+#include
"libmemcached/csl/common.h"
+#include
"libmemcached/csl/parser.h"
class Context
{
public:
class Context
{
public:
- Context(const char *option_string, size_t option_string_length, memcached_st *memc_
arg
,
+ Context(const char *option_string, size_t option_string_length, memcached_st *memc_,
memcached_return_t &rc_arg) :
previous_token(END),
scanner(NULL),
memcached_return_t &rc_arg) :
previous_token(END),
scanner(NULL),
+ buf(option_string),
begin(NULL),
pos(0),
begin(NULL),
pos(0),
- memc(NULL),
+ length(option_string_length),
+ memc(memc_),
rc(rc_arg),
_is_server(false),
_end(false),
_has_hash(false)
{
_hostname[0]= 0;
rc(rc_arg),
_is_server(false),
_end(false),
_has_hash(false)
{
_hostname[0]= 0;
- buf= option_string;
- length= option_string_length;
- memc= memc_arg;
init_scanner();
rc= MEMCACHED_SUCCESS;
init_scanner();
rc= MEMCACHED_SUCCESS;
+
+ memc->state.is_parsing= true;
+ memcached_string_create(memc,
+ &_string_buffer,
+ 1024);
}
bool end()
}
bool end()
@@
-93,22
+97,26
@@
public:
return _is_server;
}
return _is_server;
}
- const char *set_hostname(const char *str, size_t size);
+ void hostname(const char*, size_t, server_t&);
+
+ bool string_buffer(const char*, size_t, memcached_string_t&);
const char *hostname() const
{
return _hostname;
}
const char *hostname() const
{
return _hostname;
}
- void abort(const char *,
yy
tokentype, const char *);
- void error(const char *,
yy
tokentype, const char* );
+ void abort(const char *,
config_
tokentype, const char *);
+ void error(const char *,
config_
tokentype, const char* );
~Context()
{
~Context()
{
+ memcached_string_free(&_string_buffer);
destroy_scanner();
destroy_scanner();
+ memc->state.is_parsing= false;
}
}
-
yy
tokentype previous_token;
+
config_
tokentype previous_token;
void *scanner;
const char *buf;
const char *begin;
void *scanner;
const char *buf;
const char *begin;
@@
-126,4
+134,5
@@
private:
bool _end;
char _hostname[NI_MAXHOST];
bool _has_hash;
bool _end;
char _hostname[NI_MAXHOST];
bool _has_hash;
+ memcached_string_st _string_buffer;
};
};