]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Convert Tokenizer::token to rely on other Tokenizer methods
authorFrancesco Chemolli <kinkie@squid-cache.org>
Sun, 5 Jan 2014 17:33:52 +0000 (18:33 +0100)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Sun, 5 Jan 2014 17:33:52 +0000 (18:33 +0100)
src/parser/Tokenizer.cc

index b76aa1ec67b036a7fbdd5814ea7170f7f5306059..6a50f47b6680a65db9afe77457005cf6738b93ae 100644 (file)
@@ -6,12 +6,14 @@ namespace Parser {
 bool
 Tokenizer::token(SBuf &returnedToken, const CharacterSet &whitespace)
 {
-    const SBuf::size_type endOfPreWhiteSpace = buf_.findFirstNotOf(whitespace);
-    const SBuf::size_type endOfToken = buf_.findFirstOf(whitespace, endOfPreWhiteSpace);
-    if (endOfToken == SBuf::npos)
+    SBuf savebuf(buf_);
+    SBuf saveRetVal(returnedToken);
+    skip(whitespace); // skip
+    if (!(prefix(returnedToken,whitespace))) {
+        buf_=savebuf;
+        returnedToken=saveRetVal;
         return false;
-    buf_.consume(endOfPreWhiteSpace);
-    returnedToken = buf_.consume(endOfToken - endOfPreWhiteSpace);
+    }
     skip(whitespace);
     return true;
 }