fixed two little bugs

This commit is contained in:
eck 1990-08-31 10:27:12 +00:00
parent 1cb247fa39
commit f614fc6dc3
2 changed files with 16 additions and 5 deletions

View file

@ -203,9 +203,20 @@ int to_endif;
on the same level.
*/
id = findidf(tk.tk_str);
if (id == (struct idf *)0) {
/* invalid word seen after the '#' */
error("%s: unknown control", tk.tk_str);
}
free(tk.tk_str);
if (id == (struct idf *)0) continue;
switch(id->id_resmac) {
default:
case K_DEFINE:
case K_ERROR:
case K_INCLUDE:
case K_LINE:
case K_PRAGMA:
case K_UNDEF:
case K_FILE:
SkipToNewLine();
break;
case K_IF:

View file

@ -215,10 +215,10 @@ preprocess(fn)
case STCHAR:
{
register int stopc = c;
int escaped = 0;
int escaped;
do {
escaped = 0;
echo(c);
c = GetChar();
if (c == '\n') {
@ -230,14 +230,14 @@ preprocess(fn)
flush((int)(op-_obuf));
return;
}
if (!escaped && c == '\\') {
if (c == '\\') {
echo(c);
c = GetChar();
if (c == '\n') {
++LineNumber;
lineno++;
} else escaped = 1;
} else escaped = 0;
}
} while (escaped || c != stopc);
echo(c);
if (c == '\n')