commit 55187d8e921d611b3fa9ff4a166125c44b7dd6d9
parent 40b965f8ff43131e22b0eb9cdafd2754166b0b76
Author: tjg <tjg>
Date: Wed, 13 Oct 1999 15:36:23 +0000
1999-10-13
Bug: a read(2) error in fdgchar() should call rc_raise(), not
rc_exit(). This bug is easily tickled on systems (like Linux) which
allow you to open(2) but not read(2) directories: `. /tmp'. In all
previous versions of rc, this caused the shell to exit.
Diffstat:
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
@@ -617,3 +617,10 @@ Changes since rc-1.5b2
Portability: status.c assumes traditional Unix layout of 0 and 1 exit
statuses in the parent, which is not shared by BeOS. Add mkstatval.c.
+
+1999-10-13
+
+ Bug: a read(2) error in fdgchar() should call rc_raise(), not
+ rc_exit(). This bug is easily tickled on systems (like Linux) which
+ allow you to open(2) but not read(2) directories: `. /tmp'. In all
+ previous versions of rc, this caused the shell to exit.
diff --git a/input.c b/input.c
@@ -125,7 +125,7 @@ static int fdgchar() {
} while (r < 0 && errno == EINTR);
if (r < 0) {
uerror("read");
- rc_exit(1);
+ rc_raise(eError);
}
chars_in = (size_t) r;
}