summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntonio Diaz Diaz <ant_diaz@teleline.es>2010-03-02 18:41:41 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2010-03-02 18:44:25 +0200
commitbffe1074aab0bd180b6b522f07f951f73ef59191 (patch)
tree20d10d7f86373eb6f8254d8c49a689b8d5bc3329 /src
parent9a3e8a6f4374901c386821a0e08184f369141df4 (diff)
downloadtar-bffe1074aab0bd180b6b522f07f951f73ef59191.tar.gz
Add Lzip support
* configure.ac: Add TAR_COMPR_PROGRAM(lzip) * doc/tar.texi: Reflect lzip support. * src/buffer.c (compress_type) <ct_lzip>: New constant. (magic): Add magic for lzip. * src/suffix.c (compression_suffixes): Add lz. * src/tar.c: New option --lzip.
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c2
-rw-r--r--src/suffix.c1
-rw-r--r--src/tar.c10
3 files changed, 13 insertions, 0 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 61310381..8147def1 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -201,6 +201,7 @@ enum compress_type {
ct_compress,
ct_gzip,
ct_bzip2,
+ ct_lzip,
ct_lzma,
ct_lzop,
ct_xz
@@ -221,6 +222,7 @@ static struct zip_magic const magic[] = {
{ ct_compress, 2, "\037\235", COMPRESS_PROGRAM, "-Z" },
{ ct_gzip, 2, "\037\213", GZIP_PROGRAM, "-z" },
{ ct_bzip2, 3, "BZh", BZIP2_PROGRAM, "-j" },
+ { ct_lzip, 4, "LZIP", LZIP_PROGRAM, "--lzip" },
{ ct_lzma, 6, "\xFFLZMA", LZMA_PROGRAM, "--lzma" },
{ ct_lzop, 4, "\211LZO", LZOP_PROGRAM, "--lzop" },
{ ct_xz, 6, "\0xFD7zXZ", XZ_PROGRAM, "-J" },
diff --git a/src/suffix.c b/src/suffix.c
index cd9c01a2..23868c91 100644
--- a/src/suffix.c
+++ b/src/suffix.c
@@ -38,6 +38,7 @@ static struct compression_suffix compression_suffixes[] = {
{ S(tbz, BZIP2) },
{ S(tbz2, BZIP2) },
{ S(tz2, BZIP2) },
+ { S(lz, LZIP) },
{ S(lzma, LZMA) },
{ S(tlz, LZMA) },
{ S(lzo, LZOP) },
diff --git a/src/tar.c b/src/tar.c
index 17087159..da124196 100644
--- a/src/tar.c
+++ b/src/tar.c
@@ -281,6 +281,7 @@ enum
INDEX_FILE_OPTION,
KEEP_NEWER_FILES_OPTION,
LEVEL_OPTION,
+ LZIP_OPTION,
LZMA_OPTION,
LZOP_OPTION,
MODE_OPTION,
@@ -624,6 +625,7 @@ static struct argp_option options[] = {
{"ungzip", 0, 0, OPTION_ALIAS, NULL, GRID+1 },
{"compress", 'Z', 0, 0, NULL, GRID+1 },
{"uncompress", 0, 0, OPTION_ALIAS, NULL, GRID+1 },
+ {"lzip", LZIP_OPTION, 0, 0, NULL, GRID+1 },
{"lzma", LZMA_OPTION, 0, 0, NULL, GRID+1 },
{"lzop", LZOP_OPTION, 0, 0, NULL, GRID+1 },
{"xz", 'J', 0, 0, NULL, GRID+1 },
@@ -1271,6 +1273,10 @@ tar_help_filter (int key, const char *text, void *input)
s = xasprintf (_("filter the archive through %s"), COMPRESS_PROGRAM);
break;
+ case LZIP_OPTION:
+ s = xasprintf (_("filter the archive through %s"), LZIP_PROGRAM);
+ break;
+
case LZMA_OPTION:
s = xasprintf (_("filter the archive through %s"), LZMA_PROGRAM);
break;
@@ -1506,6 +1512,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
}
break;
+ case LZIP_OPTION:
+ set_use_compress_program_option (LZIP_PROGRAM);
+ break;
+
case LZMA_OPTION:
set_use_compress_program_option (LZMA_PROGRAM);
break;