From: Roland McGrath Date: Thu, 11 Jun 1992 02:07:33 +0000 (+0000) Subject: Formerly read.c.~32~ X-Git-Tag: 3.70.2~754 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=92dc493189386e40d241a3aa7f3a59c02a5a204e;p=thirdparty%2Fmake.git Formerly read.c.~32~ --- diff --git a/read.c b/read.c index bc0283bb..2c7cc896 100644 --- a/read.c +++ b/read.c @@ -794,11 +794,17 @@ conditional_line (line, filename, lineno) xrealloc (conditionals->ignoring, conditionals->max_ignoring); } - if (conditionals->if_cmds > 1 && - conditionals->ignoring[conditionals->if_cmds - 2]) - /* We are already ignoring, so just push a level - to match the next "else" or "endif", and keep ignoring. */ - conditionals->ignoring[conditionals->if_cmds - 1] = 1; + /* Search through the stack to see if we're already ignoring. */ + for (i = 0; i < conditionals->if_cmds; ++i) + if (conditionals->ignoring[i]) + { + /* We are already ignoring, so just push a level + to match the next "else" or "endif", and keep ignoring. + We don't want to expand variables in the condition. */ + conditionals->ignoring[conditionals->if_cmds - 1] = 1; + return 1; + } + else if (cmdname[notdef ? 3 : 2] == 'd') { /* "Ifdef" or "ifndef". */