From f3b56b428f5c903ef4622d7e04925d9056f751e9 Mon Sep 17 00:00:00 2001 From: Stefani Seibold Date: Sat, 25 Jul 2009 02:02:22 +0200 Subject: unzip: try lseek before resorting to reading function old new delta unzip_skip 16 43 +27 Signed-off-by: Denys Vlasenko --- archival/unzip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'archival') diff --git a/archival/unzip.c b/archival/unzip.c index 7b47a8a..4201d1d 100644 --- a/archival/unzip.c +++ b/archival/unzip.c @@ -208,7 +208,8 @@ static uint32_t read_next_cds(int count_m1, uint32_t cds_offset, cds_header_t *c static void unzip_skip(off_t skip) { - bb_copyfd_exact_size(zip_fd, -1, skip); + if (lseek(zip_fd, skip, SEEK_CUR) == (off_t)-1) + bb_copyfd_exact_size(zip_fd, -1, skip); } static void unzip_create_leading_dirs(const char *fn) -- cgit v1.1