force first line directive

This commit is contained in:
ceriel 1987-01-12 14:21:14 +00:00
parent 281f83968c
commit 5ddf83ab5a

View file

@ -27,7 +27,7 @@ preprocess(fn)
register int c; register int c;
register char *op = _obuf; register char *op = _obuf;
register char *ob = &_obuf[OBUFSIZE]; register char *ob = &_obuf[OBUFSIZE];
int lineno = 0; int lineno = 32767; /* force line directive */
extern char options[]; extern char options[];
#define flush(X) (sys_write(STDOUT,_obuf,X)) #define flush(X) (sys_write(STDOUT,_obuf,X))
@ -44,17 +44,18 @@ preprocess(fn)
newline(); newline();
LoadChar(c); LoadChar(c);
} }
if (! options['P'] && if (lineno != LineNumber || fn != FileName) {
(lineno != LineNumber || fn != FileName)) {
char Xbuf[256];
register char *p = Xbuf;
fn = FileName; fn = FileName;
lineno = LineNumber; lineno = LineNumber;
sprint(p, "# %d \"%s\"\n", LineNumber, if (! options['P']) {
FileName); char Xbuf[256];
while (*p) { register char *p = Xbuf;
echo(*p++);
sprint(p, "# %d \"%s\"\n", LineNumber,
FileName);
while (*p) {
echo(*p++);
}
} }
} }
for (;;) { for (;;) {