rpm2cpio: handle unseekable input correctly
function old new delta data_skip 14 20 +6 seek_by_jump 67 72 +5 data_align 81 84 +3 seek_by_read 20 19 -1 skip_header 99 94 -5 rpm2cpio_main 183 177 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/3 up/down: 14/-12) Total: 2 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@ -60,8 +60,8 @@ typedef struct archive_handle_t {
|
||||
/* Count the number of bytes processed */
|
||||
off_t offset;
|
||||
|
||||
/* Function that skips data: read_by_char or read_by_skip */
|
||||
void FAST_FUNC (*seek)(const struct archive_handle_t *archive_handle, const unsigned amount);
|
||||
/* Function that skips data */
|
||||
void FAST_FUNC (*seek)(int fd, off_t amount);
|
||||
|
||||
/* Temporary storage */
|
||||
char *buffer;
|
||||
@ -107,8 +107,8 @@ extern char get_header_tar_gz(archive_handle_t *archive_handle) FAST_FUNC;
|
||||
extern char get_header_tar_bz2(archive_handle_t *archive_handle) FAST_FUNC;
|
||||
extern char get_header_tar_lzma(archive_handle_t *archive_handle) FAST_FUNC;
|
||||
|
||||
extern void seek_by_jump(const archive_handle_t *archive_handle, unsigned amount) FAST_FUNC;
|
||||
extern void seek_by_read(const archive_handle_t *archive_handle, unsigned amount) FAST_FUNC;
|
||||
extern void seek_by_jump(int fd, off_t amount) FAST_FUNC;
|
||||
extern void seek_by_read(int fd, off_t amount) FAST_FUNC;
|
||||
|
||||
extern void data_align(archive_handle_t *archive_handle, unsigned boundary) FAST_FUNC;
|
||||
extern const llist_t *find_list_entry(const llist_t *list, const char *filename) FAST_FUNC;
|
||||
|
Reference in New Issue
Block a user