summaryrefslogtreecommitdiffstats
path: root/programs
diff options
context:
space:
mode:
authorPrzemyslaw Skibinski <inikep@gmail.com>2016-11-04 09:22:32 (GMT)
committerPrzemyslaw Skibinski <inikep@gmail.com>2016-11-04 09:22:32 (GMT)
commit6ebf8859e3a3e4d59117fe88941d6fc25ecba7ba (patch)
tree75c1e64bf9d21575ef0a65ffc81d2306ecc1689d /programs
parent4c496fabaa275f8e082cfc9dda08fdbd0f0844b4 (diff)
parent6d6a3e0fb582be4979404a5e8e368df8b891d686 (diff)
downloadlz4-6ebf8859e3a3e4d59117fe88941d6fc25ecba7ba.zip
lz4-6ebf8859e3a3e4d59117fe88941d6fc25ecba7ba.tar.gz
lz4-6ebf8859e3a3e4d59117fe88941d6fc25ecba7ba.tar.bz2
Merge remote-tracking branch 'refs/remotes/lz4/dev' into dev
Diffstat (limited to 'programs')
-rw-r--r--programs/lz4cli.c2
-rw-r--r--programs/lz4io.c12
-rw-r--r--programs/lz4io.h4
3 files changed, 15 insertions, 3 deletions
diff --git a/programs/lz4cli.c b/programs/lz4cli.c
index 7cf035e..a6f4b4e 100644
--- a/programs/lz4cli.c
+++ b/programs/lz4cli.c
@@ -393,7 +393,7 @@ int main(int argc, const char** argv)
case 'c': forceStdout=1; output_filename=stdoutmark; displayLevel=1; break;
/* Test integrity */
- case 't': decode=1; LZ4IO_setOverwrite(1); output_filename=nulmark; break;
+ case 't': decode=1; LZ4IO_setTestMode(1); output_filename=nulmark; break;
/* Overwrite */
case 'f': LZ4IO_setOverwrite(1); break;
diff --git a/programs/lz4io.c b/programs/lz4io.c
index f2d7b51..2f64561 100644
--- a/programs/lz4io.c
+++ b/programs/lz4io.c
@@ -136,6 +136,7 @@ static clock_t g_time = 0;
* Local Parameters
**************************************/
static int g_overwrite = 1;
+static int g_testMode = 0;
static int g_blockSizeId = LZ4IO_BLOCKSIZEID_DEFAULT;
static int g_blockChecksum = 0;
static int g_streamChecksum = 1;
@@ -184,6 +185,13 @@ int LZ4IO_setOverwrite(int yes)
return g_overwrite;
}
+/* Default setting : testMode = 0; return : testMode (0/1) */
+int LZ4IO_setTestMode(int yes)
+{
+ g_testMode = (yes!=0);
+ return g_testMode;
+}
+
/* blockSizeID : valid values : 4-5-6-7 */
int LZ4IO_setBlockSizeID(int bsid)
{
@@ -283,7 +291,7 @@ static int LZ4IO_getFiles(const char* input_filename, const char* output_filenam
} else {
/* Check if destination file already exists */
*pfoutput=0;
- if (output_filename != nulmark) *pfoutput = fopen( output_filename, "rb" );
+ if (strcmp(output_filename, nulmark)) *pfoutput = fopen( output_filename, "rb" );
if (*pfoutput!=0) {
fclose(*pfoutput);
if (!g_overwrite) {
@@ -908,7 +916,7 @@ static unsigned long long selectDecoder(dRess_t ress, FILE* finput, FILE* foutpu
EXTENDED_FORMAT; /* macro extension for custom formats */
default:
if (nbCalls == 1) { /* just started */
- if (g_overwrite)
+ if (!g_testMode && g_overwrite)
return LZ4IO_passThrough(finput, foutput, MNstore);
EXM_THROW(44,"Unrecognized header : file cannot be decoded"); /* Wrong magic number at the beginning of 1st stream */
}
diff --git a/programs/lz4io.h b/programs/lz4io.h
index 4f0e02a..bf076ee 100644
--- a/programs/lz4io.h
+++ b/programs/lz4io.h
@@ -63,6 +63,10 @@ int LZ4IO_decompressMultipleFilenames(const char** inFileNamesTable, int ifntSiz
return : overwrite mode (0/1) */
int LZ4IO_setOverwrite(int yes);
+/* Default setting : testMode = 0;
+ return : testMode (0/1) */
+int LZ4IO_setTestMode(int yes);
+
/* blockSizeID : valid values : 4-5-6-7
return : -1 if error, blockSize if OK */
int LZ4IO_setBlockSizeID(int blockSizeID);