diff --git a/programs/fileio.c b/programs/fileio.c index 9122a1036..2067cfcda 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1631,20 +1631,16 @@ static int FIO_compressFilename_dstFile(FIO_ctx_t* const fCtx, { int closeDstFile = 0; int result; - stat_t statbuf; int transferMTime = 0; FILE *dstFile; - (void)srcFileStat; - assert(AIO_ReadPool_getFile(ress.readCtx) != NULL); if (AIO_WritePool_getFile(ress.writeCtx) == NULL) { int dstFilePermissions = DEFAULT_FILE_PERMISSIONS; if ( strcmp (srcFileName, stdinmark) && strcmp (dstFileName, stdoutmark) - && UTIL_stat(srcFileName, &statbuf) - && UTIL_isRegularFileStat(&statbuf) ) { - dstFilePermissions = statbuf.st_mode; + && UTIL_isRegularFileStat(srcFileStat) ) { + dstFilePermissions = srcFileStat->st_mode; transferMTime = 1; } @@ -1671,7 +1667,7 @@ static int FIO_compressFilename_dstFile(FIO_ctx_t* const fCtx, result=1; } if (transferMTime) { - UTIL_utime(dstFileName, &statbuf); + UTIL_utime(dstFileName, srcFileStat); } if ( (result != 0) /* operation failure */ && strcmp(dstFileName, stdoutmark) /* special case : don't remove() stdout */ @@ -2474,7 +2470,6 @@ static int FIO_decompressDstFile(FIO_ctx_t* const fCtx, const stat_t* srcFileStat) { int result; - stat_t statbuf; int releaseDstFile = 0; int transferMTime = 0; @@ -2485,9 +2480,8 @@ static int FIO_decompressDstFile(FIO_ctx_t* const fCtx, int dstFilePermissions = DEFAULT_FILE_PERMISSIONS; if ( strcmp(srcFileName, stdinmark) /* special case : don't transfer permissions from stdin */ && strcmp(dstFileName, stdoutmark) - && UTIL_stat(srcFileName, &statbuf) - && UTIL_isRegularFileStat(&statbuf) ) { - dstFilePermissions = statbuf.st_mode; + && UTIL_isRegularFileStat(srcFileStat) ) { + dstFilePermissions = srcFileStat->st_mode; transferMTime = 1; } @@ -2514,7 +2508,7 @@ static int FIO_decompressDstFile(FIO_ctx_t* const fCtx, } if (transferMTime) { - UTIL_utime(dstFileName, &statbuf); + UTIL_utime(dstFileName, srcFileStat); } if ( (result != 0) /* operation failure */ diff --git a/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact b/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact index 34bb704c7..7297894c7 100644 --- a/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact +++ b/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact @@ -12,8 +12,6 @@ Trace:FileStat: < 1 Trace:FileStat: < 0 Trace:FileStat: > UTIL_stat(file) Trace:FileStat: < 1 -Trace:FileStat: > UTIL_stat(file) -Trace:FileStat: < 1 Trace:FileStat: > UTIL_isSameFile(file, file.zst) Trace:FileStat: > UTIL_stat(file) Trace:FileStat: < 1 diff --git a/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact b/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact index a2d7ad282..2af60eb43 100644 --- a/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact +++ b/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact @@ -10,8 +10,6 @@ Trace:FileStat: < 1 Trace:FileStat: < 0 Trace:FileStat: > UTIL_stat(file.zst) Trace:FileStat: < 1 -Trace:FileStat: > UTIL_stat(file.zst) -Trace:FileStat: < 1 Trace:FileStat: > UTIL_isSameFile(file.zst, file) Trace:FileStat: > UTIL_stat(file.zst) Trace:FileStat: < 1