1
0
mirror of https://github.com/facebook/zstd.git synced 2025-07-30 22:23:13 +03:00

[zstdcli] Add unlzma and unxz symlinks

This commit is contained in:
Nick Terrell
2017-06-26 11:24:36 -07:00
parent eb7c2074e8
commit 6aeb50ea0d
2 changed files with 23 additions and 0 deletions

View File

@ -56,7 +56,9 @@
#define ZSTD_GUNZIP "gunzip" #define ZSTD_GUNZIP "gunzip"
#define ZSTD_GZCAT "gzcat" #define ZSTD_GZCAT "gzcat"
#define ZSTD_LZMA "lzma" #define ZSTD_LZMA "lzma"
#define ZSTD_UNLZMA "unlzma"
#define ZSTD_XZ "xz" #define ZSTD_XZ "xz"
#define ZSTD_UNXZ "unxz"
#define KB *(1 <<10) #define KB *(1 <<10)
#define MB *(1 <<20) #define MB *(1 <<20)
@ -379,7 +381,9 @@ int main(int argCount, const char* argv[])
if (exeNameMatch(programName, ZSTD_GUNZIP)) { operation=zom_decompress; FIO_setRemoveSrcFile(1); } /* behave like gunzip */ if (exeNameMatch(programName, ZSTD_GUNZIP)) { operation=zom_decompress; FIO_setRemoveSrcFile(1); } /* behave like gunzip */
if (exeNameMatch(programName, ZSTD_GZCAT)) { operation=zom_decompress; forceStdout=1; FIO_overwriteMode(); outFileName=stdoutmark; g_displayLevel=1; } /* behave like gzcat */ if (exeNameMatch(programName, ZSTD_GZCAT)) { operation=zom_decompress; forceStdout=1; FIO_overwriteMode(); outFileName=stdoutmark; g_displayLevel=1; } /* behave like gzcat */
if (exeNameMatch(programName, ZSTD_LZMA)) { suffix = LZMA_EXTENSION; FIO_setCompressionType(FIO_lzmaCompression); FIO_setRemoveSrcFile(1); } /* behave like lzma */ if (exeNameMatch(programName, ZSTD_LZMA)) { suffix = LZMA_EXTENSION; FIO_setCompressionType(FIO_lzmaCompression); FIO_setRemoveSrcFile(1); } /* behave like lzma */
if (exeNameMatch(programName, ZSTD_UNLZMA)) { operation=zom_decompress; FIO_setCompressionType(FIO_lzmaCompression); FIO_setRemoveSrcFile(1); } /* behave like unlzma */
if (exeNameMatch(programName, ZSTD_XZ)) { suffix = XZ_EXTENSION; FIO_setCompressionType(FIO_xzCompression); FIO_setRemoveSrcFile(1); } /* behave like xz */ if (exeNameMatch(programName, ZSTD_XZ)) { suffix = XZ_EXTENSION; FIO_setCompressionType(FIO_xzCompression); FIO_setRemoveSrcFile(1); } /* behave like xz */
if (exeNameMatch(programName, ZSTD_UNXZ)) { operation=zom_decompress; FIO_setCompressionType(FIO_xzCompression); FIO_setRemoveSrcFile(1); } /* behave like unxz */
memset(&compressionParams, 0, sizeof(compressionParams)); memset(&compressionParams, 0, sizeof(compressionParams));
/* command switches */ /* command switches */

View File

@ -442,6 +442,7 @@ if [ $LZMAMODE -eq 1 ]; then
XZEXE=1 XZEXE=1
xz -V && lzma -V || XZEXE=0 xz -V && lzma -V || XZEXE=0
if [ $XZEXE -eq 1 ]; then if [ $XZEXE -eq 1 ]; then
$ECHO "Testing zstd xz and lzma support"
./datagen > tmp ./datagen > tmp
$ZSTD --format=lzma -f tmp $ZSTD --format=lzma -f tmp
$ZSTD --format=xz -f tmp $ZSTD --format=xz -f tmp
@ -452,6 +453,24 @@ if [ $LZMAMODE -eq 1 ]; then
$ZSTD -d -f -v tmp.xz $ZSTD -d -f -v tmp.xz
$ZSTD -d -f -v tmp.lzma $ZSTD -d -f -v tmp.lzma
rm tmp* rm tmp*
$ECHO "Creating symlinks"
ln -s $ZSTD ./xz
ln -s $ZSTD ./unxz
ln -s $ZSTD ./lzma
ln -s $ZSTD ./unlzma
$ECHO "Testing xz and lzma symlinks"
./datagen > tmp
./xz tmp
xz -d tmp.xz
./lzma tmp
lzma -d tmp.lzma
$ECHO "Testing unxz and unlzma symlinks"
xz tmp
./xz -d tmp.xz
lzma tmp
./lzma -d tmp.lzma
rm xz unxz lzma unlzma
rm tmp*
else else
$ECHO "xz binary not detected" $ECHO "xz binary not detected"
fi fi