Magellan Linux

Contents of /trunk/mkinitrd-magellan/busybox/archival/libunarchive/seek_by_jump.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (show annotations) (download)
Sat Sep 1 22:45:15 2007 UTC (16 years, 8 months ago) by niro
File MIME type: text/plain
File size: 570 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd

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 <sys/types.h>
7 #include <errno.h>
8 #include <unistd.h>
9 #include <stdlib.h>
10
11 #include "libbb.h"
12 #include "unarchive.h"
13
14 void seek_by_jump(const archive_handle_t *archive_handle, const unsigned int amount)
15 {
16 if (lseek(archive_handle->src_fd, (off_t) amount, SEEK_CUR) == (off_t) -1) {
17 #ifdef CONFIG_FEATURE_UNARCHIVE_TAPE
18 if (errno == ESPIPE) {
19 seek_by_read(archive_handle, amount);
20 } else
21 #endif
22 bb_perror_msg_and_die("seek failure");
23 }
24 }