diff options
author | Karel Zak | 2014-01-16 14:44:37 +0100 |
---|---|---|
committer | Karel Zak | 2014-01-16 14:44:37 +0100 |
commit | c6fca22e3a4dde709f4b12875b69761536a2891d (patch) | |
tree | 4e3d7d0c47242dee5225e7e75338213c5fd45ff9 /term-utils/script.c | |
parent | script: fix inconsistent -q, use poll() rather then O_NONBLOCK (diff) | |
download | kernel-qcow2-util-linux-c6fca22e3a4dde709f4b12875b69761536a2891d.tar.gz kernel-qcow2-util-linux-c6fca22e3a4dde709f4b12875b69761536a2891d.tar.xz kernel-qcow2-util-linux-c6fca22e3a4dde709f4b12875b69761536a2891d.zip |
script: use all-io.h to make the code more robust
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'term-utils/script.c')
-rw-r--r-- | term-utils/script.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/term-utils/script.c b/term-utils/script.c index 73dd208cc..a4c2e0cec 100644 --- a/term-utils/script.c +++ b/term-utils/script.c @@ -65,6 +65,7 @@ #include "nls.h" #include "c.h" #include "ttyutils.h" +#include "all-io.h" #if defined(HAVE_LIBUTIL) && defined(HAVE_PTY_H) # include <pty.h> @@ -316,8 +317,7 @@ doinput(void) { while (die == 0) { if ((cc = read(STDIN_FILENO, ibuf, BUFSIZ)) > 0) { - ssize_t wrt = write(master, ibuf, cc); - if (wrt < 0) { + if (write_all(master, ibuf, cc)) { warn (_("write failed")); fail(); } @@ -353,7 +353,7 @@ doinput(void) { */ int c = DEF_EOF; - if (write(master, &c, 1) < 0) { + if (write_all(master, &c, 1)) { warn (_("write failed")); fail(); } @@ -404,8 +404,6 @@ dooutput(FILE *timingfd) { char obuf[BUFSIZ]; struct timeval tv; double oldtime=time(NULL), newtime; - ssize_t wrt; - ssize_t fwrt; int errsv = 0; close(STDIN_FILENO); @@ -438,15 +436,13 @@ dooutput(FILE *timingfd) { fprintf(timingfd, "%f %zd\n", newtime - oldtime, cc); oldtime = newtime; } - fwrt = fwrite(obuf, 1, cc, fscript); - if (fwrt < cc) { + if (fwrite_all(obuf, 1, cc, fscript)) { warn (_("cannot write script file")); fail(); } if (fflg) fflush(fscript); - wrt = write(STDOUT_FILENO, obuf, cc); - if (wrt < 0) { + if (write_all(STDOUT_FILENO, obuf, cc)) { warn (_("write failed")); fail(); } |