From cad5364599eb5062d59e0c397ed638ddd61a8d5d Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Wed, 19 Mar 2003 09:13:01 +0000 Subject: Major coreutils update. --- libbb/full_read.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'libbb/full_read.c') diff --git a/libbb/full_read.c b/libbb/full_read.c index ccf26fc3d..e75f967db 100644 --- a/libbb/full_read.c +++ b/libbb/full_read.c @@ -23,17 +23,16 @@ #include #include "libbb.h" - /* * Read all of the supplied buffer from a file. * This does multiple reads as necessary. * Returns the amount read, or -1 on an error. * A short read is returned on an end of file. */ -int full_read(int fd, char *buf, int len) +ssize_t bb_full_read(int fd, void *buf, size_t len) { - int cc; - int total; + ssize_t cc; + ssize_t total; total = 0; @@ -41,12 +40,12 @@ int full_read(int fd, char *buf, int len) cc = read(fd, buf, len); if (cc < 0) - return -1; + return cc; /* read() returns -1 on failure. */ if (cc == 0) break; - buf += cc; + buf = ((char *)buf) + cc; total += cc; len -= cc; } -- cgit v1.2.3