busybox/archival/libarchive/seek_by_jump.c
<<
>>
Prefs
   1/* vi: set sw=4 ts=4: */
   2/*
   3 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
   4 */
   5#include "libbb.h"
   6#include "bb_archive.h"
   7
   8void FAST_FUNC seek_by_jump(int fd, off_t amount)
   9{
  10        if (amount
  11         && lseek(fd, amount, SEEK_CUR) == (off_t) -1
  12        ) {
  13                if (errno == ESPIPE)
  14                        seek_by_read(fd, amount);
  15                else
  16                        bb_perror_msg_and_die("seek failure");
  17        }
  18}
  19