diff options
| author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-04-12 18:48:56 +0200 | 
|---|---|---|
| committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2016-04-25 22:24:16 +0200 | 
| commit | 95ce14b9ea89178ddb8788887db8b4b32ced5d79 (patch) | |
| tree | 1fb609fbe567370646a6cbf022ce678aa5a192d7 /src | |
| parent | 667d9c4a082552fb64c5ffe7b0bd6212c8a8b1b3 (diff) | |
If in the implicit default field of a non-greedy short form, only read data until whitespace characters are reached. Improve tests accordingly.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/parser/stack/Stack.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
| 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;  } | 
