Replaced a couple of UnGetChar calls with ChPushBack calls. The

UnGetChar call is wrong after skipspaces().
This commit is contained in:
ceriel 1998-02-09 09:49:00 +00:00
parent d6e0e461f7
commit 91cb060d10
4 changed files with 10 additions and 10 deletions

View file

@ -388,7 +388,7 @@ do_define()
/* read the replacement text if there is any */
ch = skipspaces(ch,0); /* find first character of the text */
ASSERT(ch != EOI);
/* UngetChar() is not right when replacement starts with a '/' */
/* UnGetChar() is not right when replacement starts with a '/' */
ChPushBack(ch);
repl_text = get_text((nformals > 0) ? formals : 0, &length);
macro_def(id, repl_text, nformals, length, NOFLAG);

View file

@ -150,7 +150,7 @@ expand_macro(repl, idf)
ch = GetChar();
ch = skipspaces(ch,1);
if (ch != '(') { /* no replacement if no () */
UnGetChar();
ChPushBack(ch);
return 0;
} else
getactuals(repl, idf);
@ -194,17 +194,17 @@ expand_defined(repl)
if ((class(ch) != STIDF) && (class(ch) != STELL)) {
error("identifier missing");
if (parens && ch != ')') error(") missing");
if (!parens || ch != ')') UnGetChar();
if (!parens || ch != ')') ChPushBack(ch);
add2repl(repl, '0');
return;
}
UnGetChar();
ChPushBack(ch);
id = GetIdentifier(0);
ASSERT(id || class(ch) == STELL);
ch = GetChar();
ch = skipspaces(ch, 0);
if (parens && ch != ')') error(") missing");
if (!parens || ch != ')') UnGetChar();
if (!parens || ch != ')') ChPushBack(ch);
add2repl(repl, (id && id->id_macro) ? '1' : '0');
add2repl(repl, ' ');
}

View file

@ -366,7 +366,7 @@ do_define()
/* read the replacement text if there is any */
ch = skipspaces(ch,0); /* find first character of the text */
assert(ch != EOI);
/* UngetChar() is not right when replacement starts with a '/' */
/* UnGetChar() is not right when replacement starts with a '/' */
ChPushBack(ch);
repl_text = get_text((nformals > 0) ? formals : 0, &length);
macro_def(str2idf(str, 0), repl_text, nformals, length, NOFLAG);

View file

@ -140,7 +140,7 @@ expand_macro(repl, idf)
ch = GetChar();
ch = skipspaces(ch,1);
if (ch != '(') { /* no replacement if no () */
UnGetChar();
ChPushBack(ch);
return 0;
} else
getactuals(repl, idf);
@ -185,11 +185,11 @@ expand_defined(repl)
if ((class(ch) != STIDF) && (class(ch) != STELL)) {
error("identifier missing");
if (parens && ch != ')') error(") missing");
if (!parens || ch != ')') UnGetChar();
if (!parens || ch != ')') ChPushBack(ch);
add2repl(repl,'0');
return;
}
UnGetChar();
ChPushBack(ch);
str = GetIdentifier(0);
if (str) {
id = findidf(str);
@ -198,7 +198,7 @@ expand_defined(repl)
ch = GetChar();
ch = skipspaces(ch, 0);
if (parens && ch != ')') error(") missing");
if (!parens || ch != ')') UnGetChar();
if (!parens || ch != ')') ChPushBack(ch);
add2repl(repl, (id && id->id_macro) ? '1' : '0');
add2repl(repl, ' ');
}