diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-12-17 14:16:17 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2023-12-17 14:16:17 +0100 |
commit | 2543e1e9838e03adb7f4a811815d34ccf65a3026 (patch) | |
tree | 92fd5e78541bb9c244741de5940e8332e5e983dc /src/io.c | |
parent | 6eddfddeb9da77b6523d8e1ebc2e75c8b5dc5ac9 (diff) | |
parent | 08dcb1504d4900cb6230c99fbbf535c63eb3b332 (diff) |
Merge branch 'release/debian/4.17-1'
Diffstat (limited to 'src/io.c')
-rw-r--r-- | src/io.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -655,7 +655,7 @@ static ssize_t HX_sendfile_rw(int dst, int src, size_t count) { static const size_t bufsize = 0x10000; size_t xferd = 0; - ssize_t ret; + ssize_t ret = 0; void *buf = malloc(bufsize); if (buf == nullptr) return -ENOMEM; @@ -665,16 +665,13 @@ static ssize_t HX_sendfile_rw(int dst, int src, size_t count) size_t readsize = bufsize; if (count < readsize) readsize = count; + /* Return value of fullread/write is same as read/write(2). */ ret = HXio_fullread(src, buf, readsize); - if (ret < 0) { - errno = -ret; + if (ret < 0) break; - } ret = HXio_fullwrite(dst, buf, ret); - if (ret < 0) { - errno = -ret; + if (ret < 0) break; - } xferd += ret; count -= ret; } |