Initial public busybox upstream commit
[busybox4maemo] / 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 "libbb.h"
7 #include "unarchive.h"
8
9 /*  If we are reading through a pipe, or from stdin then we can't lseek,
10  *  we must read and discard the data to skip over it.
11  */
12 void seek_by_read(const archive_handle_t *archive_handle, unsigned jump_size)
13 {
14         if (jump_size)
15                 bb_copyfd_exact_size(archive_handle->src_fd, -1, jump_size);
16 }