03cbb9ecc051b3948715044933e5a824d60bba19
[oweals/busybox.git] / archival / libunarchive / seek_by_read.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
4  */
5
6 #include <stdlib.h>
7
8 #include "unarchive.h"
9 #include "libbb.h"
10
11 /*  If we are reading through a pipe(), or from stdin then we cant lseek,
12  *  we must read and discard the data to skip over it.
13  */
14 void seek_by_read(const archive_handle_t *archive_handle, const unsigned int jump_size)
15 {
16         if (jump_size) {
17                 bb_copyfd_size(archive_handle->src_fd, -1, jump_size);
18         }
19 }