aboutsummaryrefslogtreecommitdiff
path: root/src/lib9
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib9')
-rw-r--r--src/lib9/errstr.c25
1 files changed, 6 insertions, 19 deletions
diff --git a/src/lib9/errstr.c b/src/lib9/errstr.c
index 578f4895..af989f47 100644
--- a/src/lib9/errstr.c
+++ b/src/lib9/errstr.c
@@ -36,13 +36,10 @@ errstr(char *err, uint n)
char tmp[ERRMAX];
char *syserr;
+ strecpy(tmp, tmp+ERRMAX, err);
+ rerrstr(err, n);
syserr = getsyserr();
- if(errno != EPLAN9)
- strcpy(syserr, strerror(errno));
-
- strecpy(tmp, tmp+ERRMAX, syserr);
- strecpy(syserr, syserr+ERRMAX, err);
- strecpy(err, err+n, tmp);
+ strecpy(syserr, syserr+ERRMAX, tmp);
errno = EPLAN9;
return 0;
}
@@ -53,7 +50,9 @@ rerrstr(char *err, uint n)
char *syserr;
syserr = getsyserr();
- if(errno != EPLAN9)
+ if(errno == EINTR)
+ strcpy(syserr, "interrupted");
+ else if(errno != EPLAN9)
strcpy(syserr, strerror(errno));
strecpy(err, err+n, syserr);
}
@@ -80,15 +79,3 @@ werrstr(char *fmt, ...)
errstr(buf, ERRMAX);
}
-char*
-gerrstr(void)
-{
- char *s;
-
- s = getsyserr();
- if(errno != EPLAN9)
- strcpy(s, strerror(errno));
- return s;
-}
-
-