summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorragge <ragge>2008-07-29 09:10:14 +0000
committerragge <ragge>2008-07-29 09:10:14 +0000
commit31f11fced618939efa8a18f12fd8fe05bab79a05 (patch)
treee387ff64384991508b93b974a05dcbcc1e52836d
parent2f11bc08c313ea06949900f4ef234563aa1309b1 (diff)
Fix bug where double macro expansion could cause an internal error.
Reported by gmcgarry.
-rw-r--r--cpp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cpp.c b/cpp.c
index 2f30f96..e475800 100644
--- a/cpp.c
+++ b/cpp.c
@@ -1117,6 +1117,8 @@ expmac(struct recur *rp)
unpstr((usch *)yytext);
if (orgexp == -1)
cunput(EXPAND);
+ else if (orgexp == -2)
+ cunput(EXPAND), cunput(EXPAND);
else if (orgexp == 1)
cunput(NOEXP);
unpstr(och);