af65e5d8567a43cd75ad064fcee5d8c9aedac0f3
[external/busybox.git] / util-linux / 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 FAST_FUNC seek_by_read(int fd, off_t amount)
13 {
14         if (amount)
15                 bb_copyfd_exact_size(fd, -1, amount);
16 }