From be7024784e64bc6e6c6bc65f48cd65d8b4679ad7 Mon Sep 17 00:00:00 2001 From: mafiesto4 Date: Mon, 8 Feb 2021 23:17:50 +0100 Subject: [PATCH] Fix PathRemoveRelativeParts for rooted paths --- Source/Engine/Platform/Base/StringUtilsBase.cpp | 2 +- Source/Engine/Utilities/StringUtils.cs | 2 +- Source/Tools/Flax.Build/Utilities/Utilities.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Engine/Platform/Base/StringUtilsBase.cpp b/Source/Engine/Platform/Base/StringUtilsBase.cpp index 4b2708b4c..7e245b4b3 100644 --- a/Source/Engine/Platform/Base/StringUtilsBase.cpp +++ b/Source/Engine/Platform/Base/StringUtilsBase.cpp @@ -261,7 +261,7 @@ void StringUtils::PathRemoveRelativeParts(String& path) path.Clear(); for (auto& e : stack) path /= e; - if (isRooted) + if (isRooted && path[0] != '/') path.Insert(0, TEXT("/")); } diff --git a/Source/Engine/Utilities/StringUtils.cs b/Source/Engine/Utilities/StringUtils.cs index 057dd9b86..cb04afbfc 100644 --- a/Source/Engine/Utilities/StringUtils.cs +++ b/Source/Engine/Utilities/StringUtils.cs @@ -227,7 +227,7 @@ namespace FlaxEngine bool isRooted = path.StartsWith("/"); string result = string.Join(Path.DirectorySeparatorChar.ToString(), stack.Reverse()); - if (isRooted) + if (isRooted && result[0] != '/') result = result.Insert(0, "/"); return result; } diff --git a/Source/Tools/Flax.Build/Utilities/Utilities.cs b/Source/Tools/Flax.Build/Utilities/Utilities.cs index 2fe7b0fc4..98e1ac529 100644 --- a/Source/Tools/Flax.Build/Utilities/Utilities.cs +++ b/Source/Tools/Flax.Build/Utilities/Utilities.cs @@ -517,7 +517,7 @@ namespace Flax.Build bool isRooted = path.StartsWith("/"); string result = string.Join(Path.DirectorySeparatorChar.ToString(), stack.Reverse()); - if (isRooted) + if (isRooted && result[0] != '/') result = result.Insert(0, "/"); return result; }