From 95ce14b9ea89178ddb8788887db8b4b32ced5d79 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Sun, 12 Apr 2015 18:48:56 +0200 Subject: If in the implicit default field of a non-greedy short form, only read data until whitespace characters are reached. Improve tests accordingly. --- src/core/parser/stack/Stack.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/parser/stack/Stack.cpp b/src/core/parser/stack/Stack.cpp index cc1eb23..75a4b49 100644 --- a/src/core/parser/stack/Stack.cpp +++ b/src/core/parser/stack/Stack.cpp @@ -1528,8 +1528,11 @@ bool StackImpl::readToken(Token &token) { if (dataReader != nullptr) { dataReader->resetPeek(); - return dataReader->peek(token, currentTokens(), - currentWhitespaceMode()); + const HandlerInfo &info = currentInfo(); + const bool endAtWhitespace = + (!info.greedy && info.inImplicitDefaultField); + return dataReader->peek(token, currentTokens(), currentWhitespaceMode(), + endAtWhitespace); } return false; } -- cgit v1.2.3