From e78c3f8650d8673d2a7d45bfc75615f9c7312e4f Mon Sep 17 00:00:00 2001 From: vnau Date: Mon, 25 Dec 2017 22:59:17 +0700 Subject: [PATCH] Removed throw expressions to avoid Microsoft compiler bug. --- Duplicati/CommandLine/RecoveryTool/Restore.cs | 7 ++++++- Duplicati/Library/Utility/ShaderStream.cs | 4 +++- Duplicati/Library/Utility/TempFileStream.cs | 4 +++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Duplicati/CommandLine/RecoveryTool/Restore.cs b/Duplicati/CommandLine/RecoveryTool/Restore.cs index f53c56afb..686de93d1 100644 --- a/Duplicati/CommandLine/RecoveryTool/Restore.cs +++ b/Duplicati/CommandLine/RecoveryTool/Restore.cs @@ -449,7 +449,12 @@ namespace Duplicati.CommandLine.RecoveryTool { stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Delete); cf = Library.DynamicLoader.CompressionLoader.GetModule(Path.GetExtension(filename).Trim('.'), stream, Library.Interface.ArchiveMode.Read, m_options); - m_lookup[filename] = cf ?? throw new Exception(string.Format("Unable to decompress {0}, no such compression module {1}", filename, Path.GetExtension(filename).Trim('.'))); + if (cf == null) + { + stream.Dispose(); + throw new Exception(string.Format("Unable to decompress {0}, no such compression module {1}", filename, Path.GetExtension(filename).Trim('.'))); + } + m_lookup[filename] = cf; m_streams[filename] = stream; } diff --git a/Duplicati/Library/Utility/ShaderStream.cs b/Duplicati/Library/Utility/ShaderStream.cs index d06ba3b6c..7fc970ca0 100644 --- a/Duplicati/Library/Utility/ShaderStream.cs +++ b/Duplicati/Library/Utility/ShaderStream.cs @@ -33,7 +33,9 @@ namespace Duplicati.Library.Utility public ShaderStream(System.IO.Stream baseStream, bool keepBaseOpen) { - this.m_baseStream = baseStream ?? throw new ArgumentNullException(nameof(baseStream)); + if (baseStream == null) + throw new ArgumentNullException(nameof(baseStream)); + this.m_baseStream = baseStream; this.m_keepBaseOpen = keepBaseOpen; } diff --git a/Duplicati/Library/Utility/TempFileStream.cs b/Duplicati/Library/Utility/TempFileStream.cs index a773c5b7a..9f814d62e 100644 --- a/Duplicati/Library/Utility/TempFileStream.cs +++ b/Duplicati/Library/Utility/TempFileStream.cs @@ -49,7 +49,9 @@ namespace Duplicati.Library.Utility public TempFileStream(TempFile file) { - m_file = file ?? throw new ArgumentNullException(nameof(file)); + if (file == null) + throw new ArgumentNullException(nameof(file)); + m_file = file; m_stream = System.IO.File.Open(file, FileMode.Create, FileAccess.ReadWrite, FileShare.None); }