From aa7d4150b34d07d3aeb1db07bda411f38ee27c92 Mon Sep 17 00:00:00 2001 From: drwtsn32x Date: Thu, 26 Dec 2019 07:51:30 -0800 Subject: [PATCH] clean up if block --- .../Library/Common/IO/SystemIOWindows.cs | 65 ++++++++++--------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/Duplicati/Library/Common/IO/SystemIOWindows.cs b/Duplicati/Library/Common/IO/SystemIOWindows.cs index 9147114a3..196d23528 100644 --- a/Duplicati/Library/Common/IO/SystemIOWindows.cs +++ b/Duplicati/Library/Common/IO/SystemIOWindows.cs @@ -509,44 +509,47 @@ namespace Duplicati.Library.Common.IO var targetpath = isDirTarget ? path.Substring(0, path.Length - 1) : path; FileSystemSecurity rules = isDirTarget ? GetAccessControlDir(targetpath) : GetAccessControlFile(targetpath); - if (restorePermissions && data.ContainsKey("win-ext:accessrulesprotected")) + if (restorePermissions) { - var content = DeserializeObject(data["win-ext:accessrulesprotected"]); - if (rules.AreAccessRulesProtected != content.IsProtected) + if (data.ContainsKey("win-ext:accessrulesprotected")) { - rules.SetAccessRuleProtection(content.IsProtected, false); - } - } - - if (restorePermissions && data.ContainsKey("win-ext:accessrules")) - { - var content = DeserializeObject(data["win-ext:accessrules"]); - var c = rules.GetAccessRules(true, false, typeof(System.Security.Principal.SecurityIdentifier)); - for (var i = c.Count - 1; i >= 0; i--) - rules.RemoveAccessRule((System.Security.AccessControl.FileSystemAccessRule)c[i]); - - Exception ex = null; - - foreach (var r in content) - { - // Attempt to apply as many rules as we can - try + var content = DeserializeObject(data["win-ext:accessrulesprotected"]); + if (rules.AreAccessRulesProtected != content.IsProtected) { - rules.AddAccessRule(r.Create(rules)); - } - catch (Exception e) - { - ex = e; + rules.SetAccessRuleProtection(content.IsProtected, false); } } - if (ex != null) - throw ex; + if (data.ContainsKey("win-ext:accessrules")) + { + var content = DeserializeObject(data["win-ext:accessrules"]); + var c = rules.GetAccessRules(true, false, typeof(System.Security.Principal.SecurityIdentifier)); + for (var i = c.Count - 1; i >= 0; i--) + rules.RemoveAccessRule((System.Security.AccessControl.FileSystemAccessRule)c[i]); - if (isDirTarget) - SetAccessControlDir(targetpath, (DirectorySecurity)rules); - else - SetAccessControlFile(targetpath, (FileSecurity)rules); + Exception ex = null; + + foreach (var r in content) + { + // Attempt to apply as many rules as we can + try + { + rules.AddAccessRule(r.Create(rules)); + } + catch (Exception e) + { + ex = e; + } + } + + if (ex != null) + throw ex; + + if (isDirTarget) + SetAccessControlDir(targetpath, (DirectorySecurity)rules); + else + SetAccessControlFile(targetpath, (FileSecurity)rules); + } } }