blob: 03284342b1cf683b7c5fea3bba09e490d2508c7a [file] [log] [blame]
"Robert P. J. Day"63fc1a92006-07-02 19:47:05 +00001/* vi: set sw=4 ts=4: */
Glenn L McGrath7ca04f32002-09-25 02:47:48 +00002/*
Denys Vlasenko0ef64bd2010-08-16 20:14:46 +02003 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
Glenn L McGrath7ca04f32002-09-25 02:47:48 +00004 */
5
Glenn L McGrath7ca04f32002-09-25 02:47:48 +00006#include "libbb.h"
Denys Vlasenkod184a722011-09-22 12:45:14 +02007#include "bb_archive.h"
Glenn L McGrath7ca04f32002-09-25 02:47:48 +00008
Denis Vlasenkodefc1ea2008-06-27 02:52:20 +00009char FAST_FUNC get_header_tar_gz(archive_handle_t *archive_handle)
Glenn L McGrath7ca04f32002-09-25 02:47:48 +000010{
Denis Vlasenkoe1a0d482006-10-20 13:28:22 +000011 /* Can't lseek over pipes */
Denis Vlasenko13858992006-10-08 12:49:22 +000012 archive_handle->seek = seek_by_read;
Glenn L McGrath5699b852003-11-15 23:19:05 +000013
Denys Vlasenko8a6a2f92012-03-06 16:27:48 +010014 open_transformer_with_sig(archive_handle->src_fd, unpack_gz_stream, "gunzip");
Glenn L McGrath2e41d0c2002-09-27 06:46:02 +000015 archive_handle->offset = 0;
Denis Vlasenko476b0702007-09-09 14:11:11 +000016 while (get_header_tar(archive_handle) == EXIT_SUCCESS)
17 continue;
Glenn L McGrath7ca04f32002-09-25 02:47:48 +000018
Glenn L McGrath5699b852003-11-15 23:19:05 +000019 /* Can only do one file at a time */
Denis Vlasenko13858992006-10-08 12:49:22 +000020 return EXIT_FAILURE;
Glenn L McGrath7ca04f32002-09-25 02:47:48 +000021}