aboutsummaryrefslogtreecommitdiff
path: root/archival/unzip.c
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-10-08 17:54:47 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-10-08 17:54:47 +0000
commit8923a8c94c288f5dba133a439f35666b5de2aac4 (patch)
treea512daebc3674c819766664c8ea17d41ef7fef02 /archival/unzip.c
parent87d25a2b8535dc627a02eb539fa3946be2a24647 (diff)
downloadbusybox-w32-8923a8c94c288f5dba133a439f35666b5de2aac4.tar.gz
busybox-w32-8923a8c94c288f5dba133a439f35666b5de2aac4.tar.bz2
busybox-w32-8923a8c94c288f5dba133a439f35666b5de2aac4.zip
correct largefile support, add comments about it.
git-svn-id: svn://busybox.net/trunk/busybox@16343 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'archival/unzip.c')
-rw-r--r--archival/unzip.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/archival/unzip.c b/archival/unzip.c
index f70baebf9..2aa380dc8 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -51,7 +51,6 @@ typedef union {
51 } formatted ATTRIBUTE_PACKED; 51 } formatted ATTRIBUTE_PACKED;
52} zip_header_t; 52} zip_header_t;
53 53
54/* This one never works with LARGEFILE-sized skips */
55static void unzip_skip(int fd, off_t skip) 54static void unzip_skip(int fd, off_t skip)
56{ 55{
57 if (lseek(fd, skip, SEEK_CUR) == (off_t)-1) { 56 if (lseek(fd, skip, SEEK_CUR) == (off_t)-1) {
@@ -75,7 +74,7 @@ static int unzip_extract(zip_header_t *zip_header, int src_fd, int dst_fd)
75{ 74{
76 if (zip_header->formatted.method == 0) { 75 if (zip_header->formatted.method == 0) {
77 /* Method 0 - stored (not compressed) */ 76 /* Method 0 - stored (not compressed) */
78 int size = zip_header->formatted.ucmpsize; 77 off_t size = zip_header->formatted.ucmpsize;
79 if (size && (bb_copyfd_size(src_fd, dst_fd, size) != size)) { 78 if (size && (bb_copyfd_size(src_fd, dst_fd, size) != size)) {
80 bb_error_msg_and_die("cannot complete extraction"); 79 bb_error_msg_and_die("cannot complete extraction");
81 } 80 }
@@ -202,7 +201,7 @@ int unzip_main(int argc, char **argv)
202 } 201 }
203 if (src_fd == -1) { 202 if (src_fd == -1) {
204 src_fn[orig_src_fn_len] = 0; 203 src_fn[orig_src_fn_len] = 0;
205 bb_error_msg_and_die("Cannot open %s, %s.zip, %s.ZIP", src_fn, src_fn, src_fn); 204 bb_error_msg_and_die("cannot open %s, %s.zip, %s.ZIP", src_fn, src_fn, src_fn);
206 } 205 }
207 } 206 }
208 207