diff options
author | Yann Collet <Cyan4973@users.noreply.github.com> | 2018-05-07 21:38:45 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-07 21:38:45 (GMT) |
commit | b3692db46d2b23a7c0af2d5e69988c94f126e10a (patch) | |
tree | d9aa14d72978e78a1ca2f1aee99511ce2d04293c /programs/lz4io.c | |
parent | dfed9fa1d77f0434306d377c4da1f7191d3ba08a (diff) | |
parent | bf6fd938e522150e2a30bee978102769a51f4b3e (diff) | |
download | lz4-b3692db46d2b23a7c0af2d5e69988c94f126e10a.zip lz4-b3692db46d2b23a7c0af2d5e69988c94f126e10a.tar.gz lz4-b3692db46d2b23a7c0af2d5e69988c94f126e10a.tar.bz2 |
Merge pull request #531 from lz4/devv1.8.2
Preparing v1.8.2
Diffstat (limited to 'programs/lz4io.c')
-rw-r--r-- | programs/lz4io.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/programs/lz4io.c b/programs/lz4io.c index 927928a..b52c1f3 100644 --- a/programs/lz4io.c +++ b/programs/lz4io.c @@ -56,8 +56,8 @@ #include "lz4io.h" #include "lz4.h" /* still required for legacy format */ #include "lz4hc.h" /* still required for legacy format */ +#define LZ4F_STATIC_LINKING_ONLY #include "lz4frame.h" -#include "lz4frame_static.h" /***************************** @@ -94,9 +94,12 @@ static int g_displayLevel = 0; /* 0 : no display ; 1: errors ; 2 : + result + interaction + warnings ; 3 : + progression; 4 : + information */ #define DISPLAYUPDATE(l, ...) if (g_displayLevel>=l) { \ - if (((clock_t)(g_time - clock()) > refreshRate) || (g_displayLevel>=4)) \ - { g_time = clock(); DISPLAY(__VA_ARGS__); \ - if (g_displayLevel>=4) fflush(stderr); } } + if ( ((clock() - g_time) > refreshRate) \ + || (g_displayLevel>=4) ) { \ + g_time = clock(); \ + DISPLAY(__VA_ARGS__); \ + if (g_displayLevel>=4) fflush(stderr); \ + } } static const clock_t refreshRate = CLOCKS_PER_SEC / 6; static clock_t g_time = 0; @@ -113,6 +116,7 @@ static int g_blockIndependence = 1; static int g_sparseFileSupport = 1; static int g_contentSizeFlag = 0; static int g_useDictionary = 0; +static unsigned g_favorDecSpeed = 0; static const char* g_dictionaryFilename = NULL; @@ -218,6 +222,12 @@ int LZ4IO_setContentSize(int enable) return g_contentSizeFlag; } +/* Default setting : 0 (disabled) */ +void LZ4IO_favorDecSpeed(int favor) +{ + g_favorDecSpeed = (favor!=0); +} + static U32 g_removeSrcFile = 0; void LZ4IO_setRemoveSrcFile(unsigned flag) { g_removeSrcFile = (flag>0); } @@ -545,6 +555,7 @@ static int LZ4IO_compressFilename_extRess(cRess_t ress, const char* srcFileName, prefs.frameInfo.blockSizeID = (LZ4F_blockSizeID_t)g_blockSizeId; prefs.frameInfo.blockChecksumFlag = (LZ4F_blockChecksum_t)g_blockChecksum; prefs.frameInfo.contentChecksumFlag = (LZ4F_contentChecksum_t)g_streamChecksum; + prefs.favorDecSpeed = g_favorDecSpeed; if (g_contentSizeFlag) { U64 const fileSize = UTIL_getFileSize(srcFileName); prefs.frameInfo.contentSize = fileSize; /* == 0 if input == stdin */ @@ -560,7 +571,7 @@ static int LZ4IO_compressFilename_extRess(cRess_t ress, const char* srcFileName, /* single-block file */ if (readSize < blockSize) { /* Compress in single pass */ - size_t cSize = LZ4F_compressFrame_usingCDict(dstBuffer, dstBufferSize, srcBuffer, readSize, ress.cdict, &prefs); + size_t cSize = LZ4F_compressFrame_usingCDict(ctx, dstBuffer, dstBufferSize, srcBuffer, readSize, ress.cdict, &prefs); if (LZ4F_isError(cSize)) EXM_THROW(31, "Compression failed : %s", LZ4F_getErrorName(cSize)); compressedfilesize = cSize; DISPLAYUPDATE(2, "\rRead : %u MB ==> %.2f%% ", @@ -951,7 +962,7 @@ static unsigned long long LZ4IO_passThrough(FILE* finput, FILE* foutput, unsigne total += readBytes; storedSkips = LZ4IO_fwriteSparse(foutput, buffer, readBytes, storedSkips); } - if (ferror(finput)) EXM_THROW(51, "Read Error") + if (ferror(finput)) EXM_THROW(51, "Read Error"); LZ4IO_fwriteSparseEnd(foutput, storedSkips); return total; |