1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
Description: support automatic xz and lzma decompression.
Author: "A. N. Other" <a.n.other.debian@gmail.com>
Last-Update: 2012-02-18
--- a/src/stream.c
+++ b/src/stream.c
@@ -43,6 +43,8 @@
private byte *gz_filter = "zcat";
private byte *bz2_filter = "bzcat";
+private byte *lzma_filter = "lzcat";
+private byte *xz_filter = "xzcat";
private stream_t *StreamAlloc()
{
@@ -75,10 +77,14 @@ public stream_t *StreamOpen( byte *file )
filter = gz_filter;
else if( !strcmp( "bz2", exts ) || !strcmp( "BZ2", exts ) )
filter = bz2_filter;
+ else if ( !strcmp( "lzma", exts ) )
+ filter = lzma_filter;
+ else if ( !strcmp( "xz", exts ) )
+ filter = xz_filter;
}
if( NULL != filter ){
/*
- * zcat or bzcat
+ * zcat, bzcat etc.
*/
if( NULL == (st->fp = (FILE *)tmpfile()) )
perror( "temporary file" ), exit( -1 );
|