summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortgoodwin <tgoodwin>1998-10-29 14:13:51 +0000
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:23:12 +0100
commit600c45ab9ac6bf6a0257997d4c21d49c868ec0bb (patch)
tree506e5f57b1e213103b35d2e967fc4a7e76eaf5f8
parent3b225b2f889a79e3b3dfef6a962e5655c91c1a96 (diff)
pr_error now takes a line number offset
-rw-r--r--except.c2
-rw-r--r--rc.h6
-rw-r--r--utils.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/except.c b/except.c
index c557e63..af30e71 100644
--- a/except.c
+++ b/except.c
@@ -120,7 +120,7 @@ extern void pop_cmdarg(bool remove) {
/* exception handlers */
extern void rc_error(char *s) {
- pr_error(s);
+ pr_error(s, -1);
set(FALSE);
redirq = NULL;
cond = FALSE; /* no longer inside conditional */
diff --git a/rc.h b/rc.h
index 6cd469e..f582bd4 100644
--- a/rc.h
+++ b/rc.h
@@ -304,7 +304,7 @@ extern void restoreblock(Block *);
/* open.c */
extern int rc_open(const char *, redirtype);
-extern void makeblocking(int);
+extern bool makeblocking(int);
/* print.c */
/*
@@ -331,7 +331,7 @@ extern char *nprint(const char *fmt,...);
*(f)->buf++ = (c);\
}
-/* y.tab.c (parse.y) */
+/* parse.c (parse.y) */
extern Node *parsetree;
extern int yyparse(void);
extern void initparse(void);
@@ -420,7 +420,7 @@ extern bool isabsolute(char *);
extern int n2u(char *, unsigned int);
extern int mvfd(int, int);
extern int starstrcmp(const void *, const void *);
-extern void pr_error(char *);
+extern void pr_error(char *, int);
extern void panic(char *);
extern void uerror(char *);
diff --git a/utils.c b/utils.c
index a139324..ded0c03 100644
--- a/utils.c
+++ b/utils.c
@@ -7,12 +7,12 @@
/* print error with line number on noninteractive shells (i.e., scripts) */
-extern void pr_error(char *s) {
+extern void pr_error(char *s, int offset) {
if (s != NULL) {
if (interactive)
fprint(2, "%s\n", s);
else
- fprint(2, "line %d: %s\n", lineno - 1, s);
+ fprint(2, "line %d: %s\n", lineno + offset, s);
}
}