From cba0bbac02d2dad59e800a2aa0a111619b5b5ec7 Mon Sep 17 00:00:00 2001 From: ceriel Date: Wed, 14 Feb 1990 11:57:41 +0000 Subject: [PATCH] Under the -M option, identifiers were sometimes truncated --- util/cpp/preprocess.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/util/cpp/preprocess.c b/util/cpp/preprocess.c index 64ca97e83..34c076981 100644 --- a/util/cpp/preprocess.c +++ b/util/cpp/preprocess.c @@ -222,15 +222,22 @@ preprocess(fn) if (tg < maxpos) { cpy; } + else break; load; } endidf: PushBack(); *tg = '\0'; /* mark the end of the identifier */ idef = findidf(buf); - if ((idef && idef->id_macro && replace(idef))) { - LoadChar(c); - continue; + if (idef && idef->id_macro) { + do { + LoadChar(c); + } while (in_idf(c)); + PushBack(); + if (replace(idef)) { + LoadChar(c); + continue; + } } nomac: *tg = 0; -- 2.34.1