From b881e6f83b900490913e870f4d6df9a3e94c6c8c Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 12 Sep 2005 14:20:49 +0000 Subject: [PATCH] 2.3.90-12 --- fedora/tzdata-update.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/fedora/tzdata-update.c b/fedora/tzdata-update.c index 38539817d31..7f12322bf4e 100644 --- a/fedora/tzdata-update.c +++ b/fedora/tzdata-update.c @@ -400,12 +400,18 @@ char zonename[1024]; ssize_t readall (int fd, void *buf, size_t len) { + INTERNAL_SYSCALL_DECL (err); size_t n = len; ssize_t ret; do { ret = INTERNAL_SYSCALL (read, err, 3, fd, buf, n); - if (ret <= 0) + if (INTERNAL_SYSCALL_ERROR_P (ret, err)) + { + ret = -1; + break; + } + else if (ret == 0) break; buf = (char *) buf + ret; n -= ret; @@ -417,12 +423,18 @@ readall (int fd, void *buf, size_t len) ssize_t writeall (int fd, const void *buf, size_t len) { + INTERNAL_SYSCALL_DECL (err); size_t n = len; ssize_t ret; do { ret = INTERNAL_SYSCALL (write, err, 3, fd, buf, n); - if (ret <= 0) + if (INTERNAL_SYSCALL_ERROR_P (ret, err)) + { + ret = -1; + break; + } + else if (ret == 0) break; buf = (const char *) buf + ret; n -= ret; -- 2.47.2