diff options
| -rw-r--r-- | CHANGES | 3 | ||||
| -rw-r--r-- | include/version.h | 2 | ||||
| -rw-r--r-- | libbio/bprint.c | 5 | ||||
| -rw-r--r-- | utils/c2l/Posix.c | 2 | ||||
| -rw-r--r-- | utils/cc/Posix.c | 2 |
5 files changed, 11 insertions, 3 deletions
@@ -1,3 +1,6 @@ +20120424 + utils/cc/Posix.c and utils/c2l/Posix.c: correct definition of mydup for POSIX dup/dup2 + libbio/bprint.c error handling if flush or print fails 20120305 add -I$ROOT/(Plan9|Inferno)/include to CFLAGS in mkfiles/^(mkfile-Plan9* mkfile-Inferno*) change specific object type to $OBJTYPE in the same diff --git a/include/version.h b/include/version.h index 9e6e5057..165d7f94 100644 --- a/include/version.h +++ b/include/version.h @@ -1 +1 @@ -#define VERSION "Fourth Edition (20120421)" +#define VERSION "Fourth Edition (20120424)" diff --git a/libbio/bprint.c b/libbio/bprint.c index 6e21e444..26870024 100644 --- a/libbio/bprint.c +++ b/libbio/bprint.c @@ -14,12 +14,13 @@ Bprint(Biobuf *bp, char *fmt, ...) out = vseprint(ip, ep, fmt, ap); va_end(ap); if(out == nil || out >= ep-5) { - Bflush(bp); + if(Bflush(bp) < 0) + return Beof; ip = ep + bp->ocount; va_start(ap, fmt); out = vseprint(ip, ep, fmt, ap); va_end(ap); - if(out >= ep-5) + if(out == nil || out >= ep-5) return Beof; } n = out-ip; diff --git a/utils/c2l/Posix.c b/utils/c2l/Posix.c index 065f1e20..e572e5da 100644 --- a/utils/c2l/Posix.c +++ b/utils/c2l/Posix.c @@ -22,6 +22,8 @@ mywait(int *s) int mydup(int f1, int f2) { + if(f2 < 0) + return dup(f1); return dup2(f1,f2); } diff --git a/utils/cc/Posix.c b/utils/cc/Posix.c index dfe28d60..f651bf56 100644 --- a/utils/cc/Posix.c +++ b/utils/cc/Posix.c @@ -23,6 +23,8 @@ mywait(int *s) int mydup(int f1, int f2) { + if(f2 < 0) + return dup(f1); return dup2(f1,f2); } |
