summaryrefslogtreecommitdiff
path: root/usr/src/cmd/tbl/te.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/tbl/te.c')
-rw-r--r--usr/src/cmd/tbl/te.c51
1 files changed, 16 insertions, 35 deletions
diff --git a/usr/src/cmd/tbl/te.c b/usr/src/cmd/tbl/te.c
index b5bcb47b8e..56ad4e102d 100644
--- a/usr/src/cmd/tbl/te.c
+++ b/usr/src/cmd/tbl/te.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -15,37 +15,18 @@
#pragma ident "%Z%%M% %I% %E% SMI"
/* te.c: error message control, input line count */
-# include "t..c"
-# include <locale.h>
-# include <errno.h>
+#include "t..c"
+#include <locale.h>
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
void
error(char *s)
{
-fprintf(stderr, gettext("\n%s: line %d: %s\n"), ifile, iline, s);
-# ifdef unix
-fprintf(stderr, gettext("tbl quits\n"));
-exit(1);
-# endif
-# ifdef gcos
-fprintf(stderr, "run terminated due to error condition detected by tbl preprocessor\n");
-exit(0);
-# endif
-}
-
-char *
-errmsg(int errnum)
-{
-extern int sys_nerr;
-extern char *sys_errlist[];
-static char errmsgbuf[18];
-if (errnum > sys_nerr)
- {
- sprintf(errmsgbuf, "Error %d", errnum);
- return (errmsgbuf);
- }
-else
- return (sys_errlist[errnum]);
+ (void) fprintf(stderr, gettext("\n%s: line %d: %s\n"), ifile, iline, s);
+ (void) fprintf(stderr, gettext("tbl quits\n"));
+ exit(1);
}
char *
@@ -64,17 +45,17 @@ while(len > 0)
while (*s) s++;
s--;
- if (*s == '\n') *s-- =0;
- else
- {
- if (!feof(tabin))
- {
+ if (*s == '\n') {
+ *s-- = '\0';
+ } else {
+ if (!feof(tabin)) {
if (ferror(tabin))
- error(errmsg(errno));
+ error(strerror(errno));
else
error(gettext("Line too long"));
- }
}
+ }
+
for(nbl=0; *s == '\\' && s>p; s--)
nbl++;
if (linstart && nbl % 2) /* fold escaped nl if in table */