From: Glenn L McGrath Date: Tue, 12 Nov 2002 23:34:15 +0000 (-0000) Subject: Reduce block size to 512 to prevent short read's when reading from a pipe X-Git-Tag: 1_00_pre1~450 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=034c371bb2ea7d66caf3ac29178ce941837edb9f;p=oweals%2Fbusybox.git Reduce block size to 512 to prevent short read's when reading from a pipe --- diff --git a/archival/libunarchive/archive_copy_file.c b/archival/libunarchive/archive_copy_file.c index 22355ccd5..47d1a5216 100644 --- a/archival/libunarchive/archive_copy_file.c +++ b/archival/libunarchive/archive_copy_file.c @@ -19,17 +19,15 @@ #include "libbb.h" #include "unarchive.h" -/* Copy CHUNKSIZE bytes (or untill EOF if chunksize == -1) - * from SRC_FILE to DST_FILE. */ extern void archive_copy_file(const archive_handle_t *archive_handle, const int dst_fd) { - size_t size; - char buffer[BUFSIZ]; + char buffer[512]; off_t chunksize = archive_handle->file_header->size; while (chunksize != 0) { - if (chunksize > BUFSIZ) { - size = BUFSIZ; + size_t size; + if (chunksize > 512) { + size = 512; } else { size = chunksize; } @@ -38,10 +36,7 @@ extern void archive_copy_file(const archive_handle_t *archive_handle, const int if (write(dst_fd, buffer, size) != size) { error_msg_and_die ("Short write"); } - - if (chunksize != -1) { - chunksize -= size; - } + chunksize -= size; } return;