aboutsummaryrefslogtreecommitdiff
path: root/archival/libunarchive/seek_by_char.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/libunarchive/seek_by_char.c')
-rw-r--r--archival/libunarchive/seek_by_char.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/archival/libunarchive/seek_by_char.c b/archival/libunarchive/seek_by_char.c
index 77da4ef2e..c0315616e 100644
--- a/archival/libunarchive/seek_by_char.c
+++ b/archival/libunarchive/seek_by_char.c
@@ -26,19 +26,7 @@
*/
extern void seek_by_char(const archive_handle_t *archive_handle, const unsigned int jump_size)
{
- unsigned int remaining = jump_size;
- unsigned int read_amount;
- RESERVE_CONFIG_BUFFER(buf, BUFSIZ);
-
- while (remaining > 0) {
- if (remaining > BUFSIZ) {
- read_amount = BUFSIZ;
- } else {
- read_amount = remaining;
- }
- read_amount = archive_xread(archive_handle, buf, read_amount);
- remaining -= read_amount;
+ if (jump_size) {
+ bb_full_fd_action(archive_handle->src_fd, -1, jump_size, NULL);
}
-
- RELEASE_CONFIG_BUFFER(buf);
}