summaryrefslogtreecommitdiff
path: root/archival/libunarchive/seek_by_char.c
diff options
context:
space:
mode:
authorGlenn L McGrath2003-11-21 22:24:57 +0000
committerGlenn L McGrath2003-11-21 22:24:57 +0000
commit7ffe1338647d2b890df3ae46e526410b21a90d18 (patch)
treee949e5879a7083bac9e2da249363f9c613d0a409 /archival/libunarchive/seek_by_char.c
parent1a2d75fd7273e8de936e5fd91462bdff381f9b62 (diff)
downloadbusybox-7ffe1338647d2b890df3ae46e526410b21a90d18.zip
busybox-7ffe1338647d2b890df3ae46e526410b21a90d18.tar.gz
As we no longer use function pointers for read in common archiving code
archive_xread can be replaced with bb_full_read, and archive_copy_file with bb_copyfd* bb_copyfd is split into two functions bb_copyfd_size and bb_copyfd_eof, they share a common backend.
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 77da4ef..c031561 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);
}