From b84547a312b91f0d3413f3ef2ecab3b2ed70fcec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Wed, 15 May 2013 13:22:25 +0200 Subject: [PATCH] Fixed #4798 (Token::Match(tok, '&|*|%var%') behaves differently when parsed or compiled) --- lib/token.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/token.cpp b/lib/token.cpp index 3cb874b07..5818df9b2 100644 --- a/lib/token.cpp +++ b/lib/token.cpp @@ -336,6 +336,13 @@ static int multiComparePercent(const Token *tok, const char * * haystack_p, if (needle[0] == '|' && needle[1] == '|') return 1; *haystack_p = haystack = haystack + 6; + } else if (haystack[1] == 'v' && // "%var%" + haystack[2] == 'a' && + haystack[3] == 'r' && + haystack[4] == '%') { + if (tok->isName()) + return 1; + *haystack_p = haystack = haystack + 5; } if (*haystack == '|')