get_header_tar_xz.c 525 B

123456789101112131415161718192021
  1. /* vi: set sw=4 ts=4: */
  2. /*
  3. * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  4. */
  5. #include "libbb.h"
  6. #include "bb_archive.h"
  7. char FAST_FUNC get_header_tar_xz(archive_handle_t *archive_handle)
  8. {
  9. /* Can't lseek over pipes */
  10. archive_handle->seek = seek_by_read;
  11. fork_transformer_with_sig(archive_handle->src_fd, unpack_xz_stream, "unxz");
  12. archive_handle->offset = 0;
  13. while (get_header_tar(archive_handle) == EXIT_SUCCESS)
  14. continue;
  15. /* Can only do one file at a time */
  16. return EXIT_FAILURE;
  17. }