diff options
author | kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-07-10 15:05:39 +0000 |
---|---|---|
committer | kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2001-07-10 15:05:39 +0000 |
commit | 527f318f282f589e816bf55692ed93b77d0b7eba (patch) | |
tree | bf10b40d9d55a084488e4b34044b45817a2da278 /tar.c | |
parent | 509b6f0c75e4b73b65c4875d58684d1d52b9c719 (diff) | |
download | busybox-w32-527f318f282f589e816bf55692ed93b77d0b7eba.tar.gz busybox-w32-527f318f282f589e816bf55692ed93b77d0b7eba.tar.bz2 busybox-w32-527f318f282f589e816bf55692ed93b77d0b7eba.zip |
Read 20 512-byte blocks at a time (like GNU tar).
git-svn-id: svn://busybox.net/trunk/busybox@3050 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'tar.c')
-rw-r--r-- | tar.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -330,7 +330,7 @@ tarExtractRegularFile(TarInfo *header, int extractFlag, int tostdoutFlag) | |||
330 | size_t writeSize; | 330 | size_t writeSize; |
331 | size_t readSize; | 331 | size_t readSize; |
332 | size_t actualWriteSz; | 332 | size_t actualWriteSz; |
333 | char buffer[BUFSIZ]; | 333 | char buffer[20 * TAR_BLOCK_SIZE]; |
334 | size_t size = header->size; | 334 | size_t size = header->size; |
335 | int outFd=fileno(stdout); | 335 | int outFd=fileno(stdout); |
336 | 336 | ||
@@ -354,9 +354,9 @@ tarExtractRegularFile(TarInfo *header, int extractFlag, int tostdoutFlag) | |||
354 | if ( size > sizeof(buffer) ) | 354 | if ( size > sizeof(buffer) ) |
355 | writeSize = readSize = sizeof(buffer); | 355 | writeSize = readSize = sizeof(buffer); |
356 | else { | 356 | else { |
357 | int mod = size % 512; | 357 | int mod = size % TAR_BLOCK_SIZE; |
358 | if ( mod != 0 ) | 358 | if ( mod != 0 ) |
359 | readSize = size + (512 - mod); | 359 | readSize = size + (TAR_BLOCK_SIZE - mod); |
360 | else | 360 | else |
361 | readSize = size; | 361 | readSize = size; |
362 | writeSize = size; | 362 | writeSize = size; |