diff options
Diffstat (limited to 'src/cmd/tbl/te.c')
-rw-r--r-- | src/cmd/tbl/te.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/cmd/tbl/te.c b/src/cmd/tbl/te.c index e6282994..3df8d445 100644 --- a/src/cmd/tbl/te.c +++ b/src/cmd/tbl/te.c @@ -4,9 +4,9 @@ void error(char *s) { - fprintf(stderr, "\n%s:%d: %s\n", ifile, iline, s); - fprintf(stderr, "tbl quits\n"); - exit(1); + fprint(2, "\n%s:%d: %s\n", ifile, iline, s); + fprint(2, "tbl quits\n"); + exits(s); } @@ -18,14 +18,13 @@ gets1(char *s, int size) iline++; ns = s; - p = fgetln(tabin, &nbl); + p = Brdline(tabin, '\n'); while (p == 0) { if (swapin() == 0) return(0); - p = fgetln(tabin, &nbl); + p = Brdline(tabin, '\n'); } - if(p != 0 && p[nbl-1] == '\n') - nbl--; + nbl = Blinelen(tabin)-1; if(nbl >= size) error("input buffer too small"); p[nbl] = 0; @@ -62,11 +61,11 @@ get1char(void) if (backp > backup) c = *--backp; else - c = fgetc(tabin); + c = Bgetc(tabin); if (c == 0) /* EOF */ { if (swapin() == 0) error("unexpected EOF"); - c = fgetc(tabin); + c = Bgetc(tabin); } if (c == '\n') iline++; |