As we no longer use function pointers for read in common archiving code
[oweals/busybox.git] / archival / libunarchive / seek_by_char.c
index 77da4ef2eede4e1fe5faa4df39164bec15f002b6..c0315616e27f72cdef8c085594f04520e997bbf0 100644 (file)
  */
 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);
 }