From: Francesco Chemolli Date: Sun, 5 Jan 2014 17:33:52 +0000 (+0100) Subject: Convert Tokenizer::token to rely on other Tokenizer methods X-Git-Tag: SQUID_3_5_0_1~217^2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bafdbba1a75ffb8c94b669d2952cdc423ff4cd5d;p=thirdparty%2Fsquid.git Convert Tokenizer::token to rely on other Tokenizer methods --- diff --git a/src/parser/Tokenizer.cc b/src/parser/Tokenizer.cc index b76aa1ec67..6a50f47b66 100644 --- a/src/parser/Tokenizer.cc +++ b/src/parser/Tokenizer.cc @@ -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; }