From 167244a64fbd1c7d8623bdcacec31bbbe4d6ebdb Mon Sep 17 00:00:00 2001 From: Bimba Shrestha Date: Mon, 9 Mar 2020 13:07:29 -0500 Subject: [PATCH] --no-content-size cli --- programs/fileio.c | 8 +++++++- programs/fileio.h | 1 + programs/zstdcli.c | 5 ++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/programs/fileio.c b/programs/fileio.c index e08c7f35..288a73d3 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -323,6 +323,7 @@ struct FIO_prefs_s { int excludeCompressedFiles; int patchFromMode; + int noContentSize; }; @@ -494,6 +495,11 @@ void FIO_setPatchFromMode(FIO_prefs_t* const prefs, int value) prefs->patchFromMode = value != 0; } +void FIO_setNoContentSize(FIO_prefs_t* const prefs, int value) +{ + prefs->noContentSize = value != 0; +} + /*-************************************* * Functions ***************************************/ @@ -1336,7 +1342,7 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs, clock_t const cpuStart = clock(); U64 readsize = 0; U64 compressedfilesize = 0; - U64 const fileSize = UTIL_getFileSize(srcFileName); + U64 const fileSize = !prefs->noContentSize ? UTIL_getFileSize(srcFileName) : UTIL_FILESIZE_UNKNOWN; DISPLAYLEVEL(5, "%s: %u bytes \n", srcFileName, (unsigned)fileSize); /* compression format selection */ diff --git a/programs/fileio.h b/programs/fileio.h index c592542e..ec2f28dc 100644 --- a/programs/fileio.h +++ b/programs/fileio.h @@ -95,6 +95,7 @@ void FIO_setNoProgress(unsigned noProgress); void FIO_setNotificationLevel(int level); void FIO_setExcludeCompressedFile(FIO_prefs_t* const prefs, int excludeCompressedFiles); void FIO_setPatchFromMode(FIO_prefs_t* const prefs, int value); +void FIO_setNoContentSize(FIO_prefs_t* const prefs, int value); /*-************************************* * Single File functions diff --git a/programs/zstdcli.c b/programs/zstdcli.c index b7f068ac..557c95df 100644 --- a/programs/zstdcli.c +++ b/programs/zstdcli.c @@ -634,7 +634,8 @@ int main(int const argCount, const char* argv[]) setRealTimePrio = 0, singleThread = 0, showDefaultCParams = 0, - ultra=0; + ultra=0, + noContentSize=0; double compressibility = 0.5; unsigned bench_nbSeconds = 3; /* would be better if this value was synchronized from bench */ size_t blockSize = 0; @@ -748,6 +749,7 @@ int main(int const argCount, const char* argv[]) if (!strcmp(argument, "--priority=rt")) { setRealTimePrio = 1; continue; } if (!strcmp(argument, "--output-dir-flat")) {nextArgumentIsOutDirName=1; lastCommand=1; continue; } if (!strcmp(argument, "--show-default-cparams")) { showDefaultCParams = 1; continue; } + if (!strcmp(argument, "--no-content-size")) { noContentSize = 1; continue; } if (!strcmp(argument, "--adapt")) { adapt = 1; continue; } if (longCommandWArg(&argument, "--adapt=")) { adapt = 1; if (!parseAdaptParameters(argument, &adaptMin, &adaptMax)) { badusage(programName); CLEAN_RETURN(1); } continue; } if (!strcmp(argument, "--single-thread")) { nbWorkers = 0; singleThread = 1; continue; } @@ -1256,6 +1258,7 @@ int main(int const argCount, const char* argv[]) FIO_setMemLimit(prefs, memLimit); if (operation==zom_compress) { #ifndef ZSTD_NOCOMPRESS + FIO_setNoContentSize(prefs, noContentSize); FIO_setNbWorkers(prefs, nbWorkers); FIO_setBlockSize(prefs, (int)blockSize); if (g_overlapLog!=OVERLAP_LOG_DEFAULT) FIO_setOverlapLog(prefs, (int)g_overlapLog);