Fixed preprocessor problem with empty macro bodies

This commit is contained in:
ceriel 1991-02-21 12:08:13 +00:00
parent 12f4a430b0
commit dab38becd4
2 changed files with 8 additions and 4 deletions

View file

@ -171,7 +171,9 @@ expand_macro(repl, idf)
three tokens: + + ID. Therefore a token separator is
inserted after the replacement.
*/
if (*(repl->r_ptr - 1) != TOKSEP) add2repl(repl, TOKSEP);
if (repl->r_text == repl->r_ptr || *(repl->r_ptr - 1) != TOKSEP) {
add2repl(repl, TOKSEP);
}
return 1;
}
@ -665,7 +667,7 @@ macro2buffer(repl, idf, args)
while (*q)
add2repl(repl, *q++);
if (*(repl->r_ptr - 1) != TOKSEP)
if (repl->r_text == repl->r_ptr || *(repl->r_ptr - 1) != TOKSEP)
add2repl(repl, TOKSEP);
} else {
add2repl(repl, *ptr++);

View file

@ -160,7 +160,9 @@ expand_macro(repl, idf)
three tokens: + + ID. Therefore a token separator is
inserted after the replacement.
*/
if (*(repl->r_ptr -1) != TOKSEP) add2repl(repl, TOKSEP);
if (repl->r_text == repl->r_ptr || *(repl->r_ptr -1) != TOKSEP) {
add2repl(repl, TOKSEP);
}
return 1;
}
@ -651,7 +653,7 @@ macro2buffer(repl, idf, args)
while (*q)
add2repl(repl, *q++);
if (*(repl->r_ptr-1) != TOKSEP)
if (repl->r_text == repl->r_ptr || *(repl->r_ptr-1) != TOKSEP)
add2repl(repl, TOKSEP);
} else {
add2repl(repl, *ptr++);