summaryrefslogtreecommitdiffstats
path: root/term-utils/wall.c
diff options
context:
space:
mode:
authorSami Kerola2012-04-04 19:44:04 +0200
committerSami Kerola2012-04-04 19:46:25 +0200
commitcdd2a8c360c70d16804ace7cc923a6c6bb7c9ca9 (patch)
tree6e4b7254c8179edc8b8f3f1c0908f7e966732b49 /term-utils/wall.c
parenttext-utils: verify writing to streams was successful (diff)
downloadkernel-qcow2-util-linux-cdd2a8c360c70d16804ace7cc923a6c6bb7c9ca9.tar.gz
kernel-qcow2-util-linux-cdd2a8c360c70d16804ace7cc923a6c6bb7c9ca9.tar.xz
kernel-qcow2-util-linux-cdd2a8c360c70d16804ace7cc923a6c6bb7c9ca9.zip
term-utils: verify writing to streams was successful
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'term-utils/wall.c')
-rw-r--r--term-utils/wall.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/term-utils/wall.c b/term-utils/wall.c
index fb3db2119..f302d454f 100644
--- a/term-utils/wall.c
+++ b/term-utils/wall.c
@@ -67,6 +67,7 @@
#include "carefulputc.h"
#include "c.h"
#include "fileutils.h"
+#include "closestream.h"
#define IGNOREUSER "sleeper"
#define WRITE_TIME_OUT 300 /* in seconds */
@@ -114,6 +115,7 @@ main(int argc, char **argv) {
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
+ atexit(close_stdout);
static const struct option longopts[] = {
{ "nobanner", no_argument, 0, 'n' },
@@ -281,6 +283,7 @@ makemsg(char *fname, size_t *mbufsize, int print_banner)
if (fread(mbuf, 1, *mbufsize, fp) != *mbufsize)
err(EXIT_FAILURE, _("fread failed"));
- fclose(fp);
+ if (close_stream(fp) != 0)
+ errx(EXIT_FAILURE, _("write error"));
return mbuf;
}