diff --git a/main.c b/main.c index f5322b5..3bfe1e4 100644 --- a/main.c +++ b/main.c @@ -344,23 +344,26 @@ static void decompress_file(void) fd_out = open_tmpoutfile(); control.fd_out = fd_out; - /* Check if there's enough free space on the device chosen to fit the - * decompressed file. */ - if (unlikely(fstatvfs(fd_out, &fbuf))) - fatal("Failed to fstatvfs in decompress_file\n"); - free_space = fbuf.f_bsize * fbuf.f_bavail; - if (free_space < expected_size) { - if (FORCE_REPLACE) - print_err("Warning, inadequate free space detected, but attempting to decompress due to -f option being used.\n"); - else - failure("Inadequate free space to decompress file, use -f to override.\n"); + read_magic(fd_in, &expected_size); + + if (!STDOUT) { + /* Check if there's enough free space on the device chosen to fit the + * decompressed file. */ + if (unlikely(fstatvfs(fd_out, &fbuf))) + fatal("Failed to fstatvfs in decompress_file\n"); + free_space = fbuf.f_bsize * fbuf.f_bavail; + if (free_space < expected_size) { + if (FORCE_REPLACE) + print_err("Warning, inadequate free space detected, but attempting to decompress due to -f option being used.\n"); + else + failure("Inadequate free space to decompress file, use -f to override.\n"); + } } fd_hist = open(control.outfile, O_RDONLY); if (unlikely(fd_hist == -1)) fatal("Failed to open history file %s\n", control.outfile); - read_magic(fd_in, &expected_size); if (NO_MD5) print_verbose("Not performing MD5 hash check\n"); if (HAS_MD5)