]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MonCap: fix setting of text in parse()
authorSage Weil <sage@inktank.com>
Sat, 1 Jun 2013 00:45:21 +0000 (17:45 -0700)
committerDan Mick <dan.mick@inktank.com>
Tue, 4 Jun 2013 04:07:16 +0000 (21:07 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/MonCap.cc

index 6f982f6fbabf0b4c0d71532f93fc2a4fe9a885ac..bf8eb6fb79df1e85e1924137cb06b1690d7a9e29 100644 (file)
@@ -411,16 +411,18 @@ struct MonCapParser : qi::grammar<Iterator, MonCap()>
 
 bool MonCap::parse(const string& str, ostream *err)
 {
-  text = str;
-  string::iterator iter = text.begin();
-  string::iterator end = text.end();
+  string s = str;
+  string::iterator iter = s.begin();
+  string::iterator end = s.end();
 
   MonCapParser<string::iterator> g;
   bool r = qi::parse(iter, end, g, *this);
   //MonCapGrant foo;
   //bool r = qi::phrase_parse(iter, end, g, ascii::space, foo);
-  if (r && iter == end)
+  if (r && iter == end) {
+    text = str;
     return true;
+  }
 
   // Make sure no grants are kept after parsing failed!
   grants.clear();