X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fsuffix.c;h=d11e9ee20ff00bf24ca1f37daf41bafe7fff6261;hb=738fb9c2f44eee567bb60e22dc011bdfd2f362a8;hp=a044d5aaaf4f2d83a8193c2bab092ee2a4e814f1;hpb=f0ceef8596838d725205e0b2aa7fd39da48fa34d;p=chaz%2Ftar diff --git a/src/suffix.c b/src/suffix.c index a044d5a..d11e9ee 100644 --- a/src/suffix.c +++ b/src/suffix.c @@ -1,5 +1,5 @@ /* This file is part of GNU tar. - Copyright (C) 2007, 2009 Free Software Foundation, Inc. + Copyright 2007, 2009, 2013 Free Software Foundation, Inc. Written by Sergey Poznyakoff. @@ -27,21 +27,24 @@ struct compression_suffix }; static struct compression_suffix compression_suffixes[] = { -#define S(s,p) #s, sizeof (#s) - 1, #p - { S(gz, gzip) }, - { S(tgz, gzip) }, - { S(taz, gzip) }, - { S(Z, compress) }, - { S(taZ, compress) }, - { S(bz2, bzip2) }, - { S(tbz, bzip2) }, - { S(tbz2, bzip2) }, - { S(tz2, bzip2) }, - { S(lzma, lzma) }, - { S(tlz, lzma) }, - { S(lzo, lzop) }, - { S(xz, xz) }, +#define __CAT2__(a,b) a ## b +#define S(s,p) #s, sizeof (#s) - 1, __CAT2__(p,_PROGRAM) + { S(gz, GZIP) }, + { S(tgz, GZIP) }, + { S(taz, GZIP) }, + { S(Z, COMPRESS) }, + { S(taZ, COMPRESS) }, + { S(bz2, BZIP2) }, + { S(tbz, BZIP2) }, + { S(tbz2, BZIP2) }, + { S(tz2, BZIP2) }, + { S(lz, LZIP) }, + { S(lzma, LZMA) }, + { S(tlz, LZMA) }, + { S(lzo, LZOP) }, + { S(xz, XZ) }, #undef S +#undef __CAT2__ }; static int nsuffixes = sizeof (compression_suffixes) / @@ -51,7 +54,7 @@ static const char * find_compression_program (const char *name, const char *defprog) { char *suf = strrchr (name, '.'); - + if (suf) { int i; @@ -71,10 +74,9 @@ find_compression_program (const char *name, const char *defprog) } void -set_comression_program_by_suffix (const char *name, const char *defprog) +set_compression_program_by_suffix (const char *name, const char *defprog) { const char *program = find_compression_program (name, defprog); if (program) use_compress_program_option = program; } -