From: Stefani Seibold Date: Sat, 25 Jul 2009 00:02:22 +0000 (+0200) Subject: unzip: try lseek before resorting to reading X-Git-Tag: 1_15_0~41 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f3b56b428f5c903ef4622d7e04925d9056f751e9;p=oweals%2Fbusybox.git unzip: try lseek before resorting to reading function old new delta unzip_skip 16 43 +27 Signed-off-by: Denys Vlasenko --- diff --git a/archival/unzip.c b/archival/unzip.c index 7b47a8ab8..4201d1dd2 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)