From a2f145f059150744132639cf30a918ceadac9b77 Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Mon, 1 Apr 2024 11:12:26 -0700 Subject: decompression errors always display the full origin filename instead of the truncated size-limited version. --- programs/fileio.c | 27 ++++++++++----------------- programs/fileio_asyncio.c | 2 +- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/programs/fileio.c b/programs/fileio.c index e3012a71..c6af36fb 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1494,7 +1494,7 @@ FIO_compressZstdFrame(FIO_ctx_t* const fCtx, int compressionLevel, U64* readsize) { cRess_t const ress = *ressPtr; - IOJob_t *writeJob = AIO_WritePool_acquireJob(ressPtr->writeCtx); + IOJob_t* writeJob = AIO_WritePool_acquireJob(ressPtr->writeCtx); U64 compressedfilesize = 0; ZSTD_EndDirective directive = ZSTD_e_continue; @@ -1526,8 +1526,7 @@ FIO_compressZstdFrame(FIO_ctx_t* const fCtx, CHECK( ZSTD_CCtx_setPledgedSrcSize(ress.cctx, prefs->streamSrcSize) ); } - { - int windowLog; + { int windowLog; UTIL_HumanReadableSize_t windowSize; CHECK(ZSTD_CCtx_getParameter(ress.cctx, ZSTD_c_windowLog, &windowLog)); if (windowLog == 0) { @@ -1542,7 +1541,6 @@ FIO_compressZstdFrame(FIO_ctx_t* const fCtx, windowSize = UTIL_makeHumanReadableSize(MAX(1ULL, MIN(1ULL << windowLog, pledgedSrcSize))); DISPLAYLEVEL(4, "Decompression will require %.*f%s of memory\n", windowSize.precision, windowSize.value, windowSize.suffix); } - (void)srcFileName; /* Main compression loop */ do { @@ -2439,12 +2437,14 @@ FIO_decompressZstdFrame(FIO_ctx_t* const fCtx, dRess_t* ress, U64 alreadyDecoded) /* for multi-frames streams */ { U64 frameSize = 0; - IOJob_t *writeJob = AIO_WritePool_acquireJob(ress->writeCtx); + const char* srcFName20 = srcFileName; + IOJob_t* writeJob = AIO_WritePool_acquireJob(ress->writeCtx); + assert(writeJob); /* display last 20 characters only when not --verbose */ { size_t const srcFileLength = strlen(srcFileName); if ((srcFileLength>20) && (g_display_prefs.displayLevel<3)) - srcFileName += srcFileLength-20; + srcFName20 += srcFileLength-20; } ZSTD_DCtx_reset(ress->dctx, ZSTD_reset_session_only); @@ -2471,19 +2471,12 @@ FIO_decompressZstdFrame(FIO_ctx_t* const fCtx, dRess_t* ress, AIO_WritePool_enqueueAndReacquireWriteJob(&writeJob); frameSize += outBuff.pos; if (fCtx->nbFilesTotal > 1) { - size_t srcFileNameSize = strlen(srcFileName); - if (srcFileNameSize > 18) { - const char* truncatedSrcFileName = srcFileName + srcFileNameSize - 15; - DISPLAYUPDATE_PROGRESS( - "\rDecompress: %2u/%2u files. Current: ...%s : %.*f%s... ", - fCtx->currFileIdx+1, fCtx->nbFilesTotal, truncatedSrcFileName, hrs.precision, hrs.value, hrs.suffix); - } else { - DISPLAYUPDATE_PROGRESS("\rDecompress: %2u/%2u files. Current: %s : %.*f%s... ", - fCtx->currFileIdx+1, fCtx->nbFilesTotal, srcFileName, hrs.precision, hrs.value, hrs.suffix); - } + DISPLAYUPDATE_PROGRESS( + "\rDecompress: %2u/%2u files. Current: %s : %.*f%s... ", + fCtx->currFileIdx+1, fCtx->nbFilesTotal, srcFName20, hrs.precision, hrs.value, hrs.suffix); } else { DISPLAYUPDATE_PROGRESS("\r%-20.20s : %.*f%s... ", - srcFileName, hrs.precision, hrs.value, hrs.suffix); + srcFName20, hrs.precision, hrs.value, hrs.suffix); } AIO_ReadPool_consumeBytes(ress->readCtx, inBuff.pos); diff --git a/programs/fileio_asyncio.c b/programs/fileio_asyncio.c index ae6db69e..42a47201 100644 --- a/programs/fileio_asyncio.c +++ b/programs/fileio_asyncio.c @@ -268,7 +268,7 @@ static void AIO_IOPool_destroy(IOPoolCtx_t* ctx) { /* AIO_IOPool_acquireJob: * Returns an available io job to be used for a future io. */ static IOJob_t* AIO_IOPool_acquireJob(IOPoolCtx_t* ctx) { - IOJob_t *job; + IOJob_t* job; assert(ctx->file != NULL || ctx->prefs->testMode); AIO_IOPool_lockJobsMutex(ctx); assert(ctx->availableJobsCount > 0); -- cgit v1.2.3