From 88dde25e6d7cd89b5863e9fa1aa6957272e1df50 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Sun, 24 Sep 2017 15:14:35 -0400 Subject: [PATCH] Directory deletion no longer recurses into symlinks --- TGServerService/Compiler.cs | 13 ------------- TGServerService/Program.cs | 6 +++++- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/TGServerService/Compiler.cs b/TGServerService/Compiler.cs index 2292f5b245..0fc81ab6c8 100644 --- a/TGServerService/Compiler.cs +++ b/TGServerService/Compiler.cs @@ -141,22 +141,9 @@ namespace TGServerService if (Directory.Exists(Path.Combine(GameDirA, InterfaceDLLName))) Directory.Delete(Path.Combine(GameDirA, InterfaceDLLName)); - var Config = LoadRepoConfig(); - if (Config != null) - { - CleanGameFolderList(GameDirA, Config.StaticDirectoryPaths); - CleanGameFolderList(GameDirA, Config.DLLPaths); - } - if (Directory.Exists(Path.Combine(GameDirB, InterfaceDLLName))) Directory.Delete(Path.Combine(GameDirB, InterfaceDLLName)); - if (Config != null) - { - CleanGameFolderList(GameDirB, Config.StaticDirectoryPaths); - CleanGameFolderList(GameDirB, Config.DLLPaths); - } - if (Directory.Exists(GameDirLive)) Directory.Delete(GameDirLive); } diff --git a/TGServerService/Program.cs b/TGServerService/Program.cs index 8a1fdff9f1..127299c259 100644 --- a/TGServerService/Program.cs +++ b/TGServerService/Program.cs @@ -30,7 +30,11 @@ namespace TGServerService if (excludeRoot != null) for (var I = 0; I < excludeRoot.Count; ++I) excludeRoot[I] = excludeRoot[I].ToLower(); - + if (!di.Attributes.HasFlag(FileAttributes.Directory)) + { //this is probably a symlink + Directory.Delete(di.FullName); + return; + } NormalizeAndDelete(di, excludeRoot); if (!ContentsOnly) {