fixed two little bugs
This commit is contained in:
parent
1cb247fa39
commit
f614fc6dc3
|
@ -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:
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Reference in a new issue