From 7b253e77fcc739b9893292b6bf91e3c9508ea72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sat, 27 Aug 2016 15:09:18 +0200 Subject: [PATCH] bump simplecpp to 1a3a3e9 --- externals/simplecpp/simplecpp.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/externals/simplecpp/simplecpp.cpp b/externals/simplecpp/simplecpp.cpp index 94b1357f0..324763c6b 100644 --- a/externals/simplecpp/simplecpp.cpp +++ b/externals/simplecpp/simplecpp.cpp @@ -1457,11 +1457,15 @@ private: Token *B = tok->next->next; std::string strAB; + const bool varargs = variadic && args.size() >= 1U && B->str == args[args.size()-1U]; + TokenList tokensB(files); if (expandArg(&tokensB, B, parametertokens)) { if (tokensB.empty()) strAB = A->str; - else { + else if (varargs && A->op == ',') { + strAB = ","; + } else { strAB = A->str + tokensB.cfront()->str; tokensB.deleteToken(tokensB.front()); } @@ -1470,7 +1474,7 @@ private: } bool removeComma = false; - if (variadic && strAB == "," && tok->previous->str == "," && args.size() >= 1U && B->str == args[args.size()-1U]) + if (varargs && tokensB.empty() && tok->previous->str == ",") removeComma = true; output->deleteToken(A);