From 19d23d5ebb35f7d685b4faefb4ac7533c9c9016a Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 5 Oct 2016 20:52:30 -0700 Subject: [PATCH] [ArchiveTools] Make absolutely sure that TGZ files don't overwrite --- SabreTools.Helper/Tools/ArchiveTools.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SabreTools.Helper/Tools/ArchiveTools.cs b/SabreTools.Helper/Tools/ArchiveTools.cs index eecd9b87..82f48560 100644 --- a/SabreTools.Helper/Tools/ArchiveTools.cs +++ b/SabreTools.Helper/Tools/ArchiveTools.cs @@ -1043,9 +1043,15 @@ namespace SabreTools.Helper // Now get the Rom info for the file so we have hashes and size Rom rom = FileTools.GetFileInfo(input, logger); - // If it doesn't exist, create the output file and then write + // Get the output file name string outfile = Path.Combine(outDir, rom.SHA1 + ".gz"); + // If the output file exists, don't try to write again + if (File.Exists(outfile)) + { + return true; + } + // Compress the input stream FileStream inputStream = File.OpenRead(input); GZipStream outputStream = new GZipStream(File.Open(outfile, FileMode.Create, FileAccess.Write), CompressionMode.Compress);