aboutsummaryrefslogtreecommitdiff
path: root/util-linux
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-12-13 14:28:38 +0100
committerDenys Vlasenko <dvlasenk@redhat.com>2010-12-13 14:28:38 +0100
commit0b90de15375b643d2b21695fae3e46908e1effa6 (patch)
tree26d803c4fe387ad3fd2022d020fd5a5023e0d2e8 /util-linux
parent1f3709ec741cab0ef635059b225fed02b18ca664 (diff)
downloadbusybox-0b90de15375b643d2b21695fae3e46908e1effa6.tar.gz
more: exit if write to stdout errors out
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'util-linux')
-rw-r--r--util-linux/more.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/util-linux/more.c b/util-linux/more.c
index 788609a08..ecac92821 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -191,6 +191,9 @@ int more_main(int argc UNUSED_PARAM, char **argv)
}
/* My small mind cannot fathom backspaces and UTF-8 */
putchar(c);
+
+ if (ferror(stdout)) /* if tty was destroyed (closed xterm, etc) */
+ goto end;
}
fclose(file);
fflush_all();