Fixes issue where if illegal options caused parsing to fail an incorrect
[awesomized/libmemcached] / libmemcached / options / context.h
index 562d3dc1176d4aaf2db049eb01ac7318dfa43b59..f7c6d5923d3a89410db3e79b6d2443dac5318ed4 100644 (file)
 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_arg,
+          memcached_return_t &rc_arg) :
     scanner(NULL),
     begin(NULL),
     pos(0),
-    memc(NULL)
+    memc(NULL),
+    rc(rc_arg)
   {
     buf= option_string;
     length= option_string_length;
     memc= memc_arg;
     init_scanner();
+    rc= MEMCACHED_SUCCESS;
   }
 
   ~Context()
@@ -65,6 +68,7 @@ public:
   size_t pos;
   size_t length;
   memcached_st *memc;
+  memcached_return_t &rc;
 
 protected:
   void init_scanner();