Forced first linedirective with source filename
This commit is contained in:
parent
8ed274e96e
commit
b10452c2dc
1 changed files with 15 additions and 2 deletions
|
@ -28,13 +28,27 @@ 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 = 32767; /* force line directive */
|
char Xbuf[256];
|
||||||
|
int lineno = 0;
|
||||||
extern char options[];
|
extern char options[];
|
||||||
|
|
||||||
#define flush(X) (sys_write(STDOUT,_obuf,X))
|
#define flush(X) (sys_write(STDOUT,_obuf,X))
|
||||||
#define echo(ch) if (op == ob) { Xflush(); op = _obuf; } *op++ = (ch);
|
#define echo(ch) if (op == ob) { Xflush(); op = _obuf; } *op++ = (ch);
|
||||||
#define newline() echo('\n')
|
#define newline() echo('\n')
|
||||||
|
|
||||||
|
if (! options['P']) {
|
||||||
|
/* Generate a line directive communicating the
|
||||||
|
source filename
|
||||||
|
*/
|
||||||
|
register char *p = Xbuf;
|
||||||
|
|
||||||
|
sprint(p, "%s 1 \"%s\"\n",
|
||||||
|
LINE_PREFIX,
|
||||||
|
FileName);
|
||||||
|
while (*p) {
|
||||||
|
echo(*p++);
|
||||||
|
}
|
||||||
|
}
|
||||||
for (;;) {
|
for (;;) {
|
||||||
LineNumber++;
|
LineNumber++;
|
||||||
lineno++;
|
lineno++;
|
||||||
|
@ -49,7 +63,6 @@ preprocess(fn)
|
||||||
fn = FileName;
|
fn = FileName;
|
||||||
lineno = LineNumber;
|
lineno = LineNumber;
|
||||||
if (! options['P']) {
|
if (! options['P']) {
|
||||||
char Xbuf[256];
|
|
||||||
register char *p = Xbuf;
|
register char *p = Xbuf;
|
||||||
|
|
||||||
sprint(p, "%s %d \"%s\"\n",
|
sprint(p, "%s %d \"%s\"\n",
|
||||||
|
|
Loading…
Add table
Reference in a new issue