diff --git a/lib/util.c b/lib/util.c
index 8ce9f81..13d98cf 100644
a
|
b
|
get_compression_type (int fd, const char *name) |
938 | 938 | if (mc_read (fd, (char *) magic + 4, 2) != 2) |
939 | 939 | return COMPRESSION_NONE; |
940 | 940 | |
| 941 | /* LZIP files */ |
| 942 | if (magic[0] == 'L' |
| 943 | && magic[1] == 'Z' |
| 944 | && magic[2] == 'I' |
| 945 | && magic[3] == 'P' |
| 946 | && (magic[4] == 0 || magic[4] == 1 ) ) |
| 947 | return COMPRESSION_LZIP; |
| 948 | |
941 | 949 | /* LZMA utils format */ |
942 | 950 | if (magic[0] == 0xFF |
943 | 951 | && magic[1] == 'L' |
… |
… |
decompress_extension (int type) |
972 | 980 | return "/ubz" VFS_PATH_URL_DELIMITER; |
973 | 981 | case COMPRESSION_BZIP2: |
974 | 982 | return "/ubz2" VFS_PATH_URL_DELIMITER; |
| 983 | case COMPRESSION_LZIP: |
| 984 | return "/ulz" VFS_PATH_URL_DELIMITER; |
975 | 985 | case COMPRESSION_LZMA: |
976 | 986 | return "/ulzma" VFS_PATH_URL_DELIMITER; |
977 | 987 | case COMPRESSION_XZ: |
diff --git a/lib/util.h b/lib/util.h
index 3f67277..8af7e6f 100644
a
|
b
|
enum compression_type |
41 | 41 | COMPRESSION_GZIP, |
42 | 42 | COMPRESSION_BZIP, |
43 | 43 | COMPRESSION_BZIP2, |
| 44 | COMPRESSION_LZIP, |
44 | 45 | COMPRESSION_LZMA, |
45 | 46 | COMPRESSION_XZ |
46 | 47 | }; |
diff --git a/misc/filehighlight.ini b/misc/filehighlight.ini
index af911fe..ac8c415 100644
a
|
b
|
|
28 | 28 | regexp=(^#.*|.*~$) |
29 | 29 | |
30 | 30 | [archive] |
31 | | extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2; |
| 31 | extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;lz;tlz; |
32 | 32 | |
33 | 33 | [doc] |
34 | 34 | extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm |
diff --git a/misc/mc.ext.in b/misc/mc.ext.in
index 50bcbda..0a9dd75 100644
a
|
b
|
regex/\.t(ar\.bz2|bz2?|b2)$ |
125 | 125 | Open=%cd %p/utar:// |
126 | 126 | View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf - |
127 | 127 | |
| 128 | # .tar.lz, .tlz |
| 129 | regex/\.t(ar\.lz|lz)$ |
| 130 | Open=%cd %p/utar:// |
| 131 | View=%view{ascii} lzip -dc %f 2>/dev/null | tar tvvf - |
| 132 | |
128 | 133 | # .tar.lzma, .tlz |
129 | 134 | regex/\.t(ar\.lzma|lz)$ |
130 | 135 | Open=%cd %p/utar:// |
… |
… |
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$ |
347 | 352 | Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more} |
348 | 353 | View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac |
349 | 354 | |
| 355 | regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz$ |
| 356 | Open=case %d/%f in */log/*|*/logs/*) lzip -dc %f ;; *) lzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more} |
| 357 | View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzip -dc %f ;; *) lzip -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac |
| 358 | |
350 | 359 | regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$ |
351 | 360 | Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more} |
352 | 361 | View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac |
… |
… |
type/^compress |
663 | 672 | Open=gzip -dc %f | %var{PAGER:more} |
664 | 673 | View=%view{ascii} gzip -dc %f 2>/dev/null |
665 | 674 | |
| 675 | # lzip |
| 676 | type/^lzip |
| 677 | Open=lzip -dc %f | %var{PAGER:more} |
| 678 | View=%view{ascii} lzip -dc %f 2>/dev/null |
| 679 | |
| 680 | regex/\.lz?$ |
| 681 | View=%view{ascii} lzip -dc %f 2>/dev/null |
| 682 | |
666 | 683 | # lzma |
667 | 684 | regex/\.lzma$ |
668 | 685 | Open=lzma -dc %f | %var{PAGER:more} |
diff --git a/misc/syntax/sh.syntax b/misc/syntax/sh.syntax
index f5537df..c582e1c 100644
a
|
b
|
wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ |
459 | 459 | keyword whole lspci cyan |
460 | 460 | keyword whole lsusb cyan |
461 | 461 | keyword whole lynx cyan |
| 462 | keyword whole lzip cyan |
| 463 | keyword whole lziprecover cyan |
462 | 464 | keyword whole MAKEDEV cyan |
463 | 465 | keyword whole MAKEFLOPPIES cyan |
464 | 466 | keyword whole mail cyan |
diff --git a/src/editor/edit.c b/src/editor/edit.c
index 0dfdfb6..d388539 100644
a
|
b
|
static const struct edit_filters |
125 | 125 | { |
126 | 126 | /* *INDENT-OFF* */ |
127 | 127 | { "xz -cd %s 2>&1", "xz > %s", ".xz"}, |
| 128 | { "lzip -cd %s 2>&1", "lzip > %s", ".lz"}, |
128 | 129 | { "lzma -cd %s 2>&1", "lzma > %s", ".lzma" }, |
129 | 130 | { "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" }, |
130 | 131 | { "gzip -cd %s 2>&1", "gzip > %s", ".gz" }, |
diff --git a/src/vfs/extfs/helpers/iso9660.in b/src/vfs/extfs/helpers/iso9660.in
index 296ac54..e14b4ff 100644
a
|
b
|
test_iso () { |
37 | 37 | mcisofs_list () { |
38 | 38 | # left as a reminder to implement compressed image support =) |
39 | 39 | case "$1" in |
| 40 | *.lz) MYCAT="lzip -dc";; |
40 | 41 | *.lzma) MYCAT="lzma -dc";; |
41 | 42 | *.xz) MYCAT="xz -dc";; |
42 | 43 | *.bz2) MYCAT="bzip2 -dc";; |
diff --git a/src/vfs/extfs/helpers/lslR.in b/src/vfs/extfs/helpers/lslR.in
index 8b6833a..0ac2759 100644
a
|
b
|
AWK=@AWK@ |
12 | 12 | |
13 | 13 | mclslRfs_list () { |
14 | 14 | case "$1" in |
| 15 | *.lz) MYCAT="lzip -dc";; |
15 | 16 | *.lzma) MYCAT="lzma -dc";; |
16 | 17 | *.xz) MYCAT="xz -dc";; |
17 | 18 | *.bz2) MYCAT="bzip2 -dc";; |
diff --git a/src/vfs/extfs/helpers/mailfs.in b/src/vfs/extfs/helpers/mailfs.in
index bb372e3..b0c2a70 100644
a
|
b
|
use bytes; |
7 | 7 | |
8 | 8 | $zcat="zcat"; # gunzip to stdout |
9 | 9 | $bzcat="bzip2 -dc"; # bunzip2 to stdout |
| 10 | $lzipcat="lzip -dc"; # unlzip to stdout |
10 | 11 | $lzcat="lzma -dc"; # unlzma to stdout |
11 | 12 | $xzcat="xz -dc"; # unxz to stdout |
12 | 13 | $file="file"; # "file" command |
… |
… |
if (/gzip/) { |
184 | 185 | exit 1 unless (open IN, "$zcat $mbox_qname|"); |
185 | 186 | } elsif (/bzip/) { |
186 | 187 | exit 1 unless (open IN, "$bzcat $mbox_qname|"); |
| 188 | } elsif (/lzip/) { |
| 189 | exit 1 unless (open IN, "$lzipcat $mbox_qname|"); |
187 | 190 | } elsif (/lzma/) { |
188 | 191 | exit 1 unless (open IN, "$lzcat $mbox_qname|"); |
189 | 192 | } elsif (/xz/) { |
diff --git a/src/vfs/extfs/helpers/patchfs.in b/src/vfs/extfs/helpers/patchfs.in
index 264e857..ace3b49 100644
a
|
b
|
use POSIX; |
13 | 13 | use File::Temp 'tempfile'; |
14 | 14 | |
15 | 15 | # standard binaries |
| 16 | my $lzip = 'lzip'; |
16 | 17 | my $lzma = 'lzma'; |
17 | 18 | my $xz = 'xz'; |
18 | 19 | my $bzip = 'bzip2'; |
… |
… |
sub myin |
80 | 81 | $_=`$fileutil $qfname`; |
81 | 82 | if (/^'*lzma/) { |
82 | 83 | return "$lzma -dc $qfname"; |
| 84 | } elsif (/^'*lzip/) { |
| 85 | return "$lzip -dc $qfname"; |
83 | 86 | } elsif (/^'*xz/) { |
84 | 87 | return "$xz -dc $qfname"; |
85 | 88 | } elsif (/^'*bzip/) { |
… |
… |
sub myout |
100 | 103 | $_=`$fileutil $qfname`; |
101 | 104 | if (/^'*lzma/) { |
102 | 105 | return "$lzma -c $sep $qfname"; |
| 106 | } elsif (/^'*lzip/) { |
| 107 | return "$lzip -c $sep $qfname"; |
103 | 108 | } elsif (/^'*xz/) { |
104 | 109 | return "$xz -c $sep $qfname"; |
105 | 110 | } elsif (/^'*bzip/) { |
diff --git a/src/vfs/extfs/helpers/sfs.ini b/src/vfs/extfs/helpers/sfs.ini
index 522cca1..e16858d 100644
a
|
b
|
bz/1 bzip < %1 > %3 |
10 | 10 | ubz/1 bzip -d < %1 > %3 |
11 | 11 | bz2/1 bzip2 < %1 > %3 |
12 | 12 | ubz2/1 bzip2 -d < %1 > %3 |
| 13 | lz/1 lzip < %1 > %3 |
| 14 | ulz/1 lzip -dc < %1 > %3 |
13 | 15 | lzma/1 lzma < %1 > %3 |
14 | 16 | ulzma/1 lzma -d < %1 > %3 |
15 | 17 | xz/1 xz < %1 > %3 |