diff options
author | Roland McGrath <roland@redhat.com> | 1992-06-11 02:07:33 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 1992-06-11 02:07:33 +0000 |
commit | 92dc493189386e40d241a3aa7f3a59c02a5a204e (patch) | |
tree | 4ae2bf3c0cdfdf84190ce57090e2797c16296f89 | |
parent | 39f1bf9ce821af4fb6ad92e1a951abd628d07dc9 (diff) | |
download | gunmake-92dc493189386e40d241a3aa7f3a59c02a5a204e.tar.gz |
Formerly read.c.~32~
-rw-r--r-- | read.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -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". */ |