summaryrefslogtreecommitdiff
path: root/archival/libunarchive/get_header_tar_lzma.c
diff options
context:
space:
mode:
authorRob Landley2006-01-20 18:28:50 +0000
committerRob Landley2006-01-20 18:28:50 +0000
commitc1d69906a0c5f28f3d84c14afb3b74c8f19f81c1 (patch)
tree5e3796c33b995720bcd69f2b969e409e85bff119 /archival/libunarchive/get_header_tar_lzma.c
parent7a43bd07e64e6db795d4661321da1cab14d9c4f6 (diff)
downloadbusybox-c1d69906a0c5f28f3d84c14afb3b74c8f19f81c1.zip
busybox-c1d69906a0c5f28f3d84c14afb3b74c8f19f81c1.tar.gz
Patch from Aurelien Jacobs to add unlzma. (A new decompression type,
see www.7-zip.org)
Diffstat (limited to 'archival/libunarchive/get_header_tar_lzma.c')
-rw-r--r--archival/libunarchive/get_header_tar_lzma.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/archival/libunarchive/get_header_tar_lzma.c b/archival/libunarchive/get_header_tar_lzma.c
new file mode 100644
index 0000000..63dc8bc
--- /dev/null
+++ b/archival/libunarchive/get_header_tar_lzma.c
@@ -0,0 +1,23 @@
+/*
+ * Small lzma deflate implementation.
+ * Copyright (C) 2006 Aurelien Jacobs <aurel@gnuage.org>
+ *
+ * Licensed under GPL v2, see file LICENSE in this tarball for details.
+ */
+
+#include "unarchive.h"
+
+char get_header_tar_lzma(archive_handle_t * archive_handle)
+{
+ /* Can't lseek over pipes */
+ archive_handle->seek = seek_by_char;
+
+ archive_handle->src_fd = open_transformer(archive_handle->src_fd, unlzma);
+ archive_handle->offset = 0;
+ while (get_header_tar(archive_handle) == EXIT_SUCCESS);
+
+ /* Can only do one file at a time */
+ return EXIT_FAILURE;
+}
+
+/* vi:set ts=4: */