summaryrefslogtreecommitdiff
path: root/src/cat.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1994-01-09 03:47:21 +0000
committerJim Meyering <jim@meyering.net>1994-01-09 03:47:21 +0000
commit07cd9a8d1563ddc8627f762e67fffae95fd6ab30 (patch)
tree3ea6f2c5b82f78d41db79729b21986848d6e4e3a /src/cat.c
parent4f90578a4f0cdb2e9f708d924dd67e6a5b9cd289 (diff)
downloadcoreutils-07cd9a8d1563ddc8627f762e67fffae95fd6ab30.tar.xz
safe_read and full_write + join patch
Diffstat (limited to 'src/cat.c')
-rw-r--r--src/cat.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/cat.c b/src/cat.c
index 702d5c984..63128e053 100644
--- a/src/cat.c
+++ b/src/cat.c
@@ -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);