diff options
author | Jim Meyering <jim@meyering.net> | 1994-01-09 03:47:21 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1994-01-09 03:47:21 +0000 |
commit | 07cd9a8d1563ddc8627f762e67fffae95fd6ab30 (patch) | |
tree | 3ea6f2c5b82f78d41db79729b21986848d6e4e3a /src/cat.c | |
parent | 4f90578a4f0cdb2e9f708d924dd67e6a5b9cd289 (diff) | |
download | coreutils-07cd9a8d1563ddc8627f762e67fffae95fd6ab30.tar.xz |
safe_read and full_write + join patch
Diffstat (limited to 'src/cat.c')
-rw-r--r-- | src/cat.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -47,6 +47,8 @@ char *stpcpy (); char *xmalloc (); void error (); +int full_write (); +int safe_read (); static void cat (); static void next_line_num (); @@ -417,7 +419,7 @@ simple_cat (buf, bufsize) { /* Read a block of input. */ - n_read = read (input_desc, buf, bufsize); + n_read = safe_read (input_desc, buf, bufsize); if (n_read < 0) { error (0, errno, "%s", infile); @@ -432,7 +434,7 @@ simple_cat (buf, bufsize) /* Write this block out. */ - if (write (output_desc, buf, n_read) != n_read) + if (full_write (output_desc, buf, n_read) < 0) error (1, errno, "write error"); } } @@ -516,7 +518,7 @@ cat (inbuf, insize, outbuf, outsize, quote, unsigned char *wp = outbuf; do { - if (write (output_desc, wp, outsize) != outsize) + if (full_write (output_desc, wp, outsize) < 0) error (1, errno, "write error"); wp += outsize; } @@ -564,14 +566,14 @@ cat (inbuf, insize, outbuf, outsize, quote, { int n_write = bpout - outbuf; - if (write (output_desc, outbuf, n_write) != n_write) + if (full_write (output_desc, outbuf, n_write) < 0) error (1, errno, "write error"); bpout = outbuf; } /* Read more input into INBUF. */ - n_read = read (input_desc, inbuf, insize); + n_read = safe_read (input_desc, inbuf, insize); if (n_read < 0) { error (0, errno, "%s", infile); |