From f04c5ec4b00e3d2d9f6b39c968d2ce54997b1cbf Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 29 May 2020 13:56:27 +0200 Subject: [PATCH] Windream: fix NormalizePath --- Modules.Windream/Windream.vb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Modules.Windream/Windream.vb b/Modules.Windream/Windream.vb index 35812bcf..0b06b5b7 100644 --- a/Modules.Windream/Windream.vb +++ b/Modules.Windream/Windream.vb @@ -766,6 +766,12 @@ Public Class Windream Public Function GetNormalizedPath(Path As String) As String Dim oNormalizedPath = GetCleanedPath(Path) Try + ' Convert any forward slashes / and double slashes \\ into backslashes \ + ' See: https://stackoverflow.com/questions/3144492/how-do-i-get-nets-path-combine-to-convert-forward-slashes-to-backslashes + If IsPathRooted(oNormalizedPath) Then + oNormalizedPath = GetFullPath(oNormalizedPath) + End If + ' Remove Driveletter, eg. W:\ If oNormalizedPath.StartsWith($"{ClientDriveLetter}:\") Then _logger.Debug($"Replacing ClientDriveLetter: [{ClientDriveLetter}]") @@ -775,13 +781,9 @@ Public Class Windream ' Remove Windream Base Path, eg. \\windream\objects\ If oNormalizedPath.ToLower.StartsWith(ClientBasePath.ToLower) Then _logger.Debug($"Replacing ClientBasePath: [{ClientBasePath}]") - oNormalizedPath = oNormalizedPath.Substring(ClientBasePath.Length - 1) + oNormalizedPath = oNormalizedPath.Substring(ClientBasePath.Length) End If - ' Convert any forward slashes / and double slashes \\ into backslashes \ - ' See: https://stackoverflow.com/questions/3144492/how-do-i-get-nets-path-combine-to-convert-forward-slashes-to-backslashes - oNormalizedPath = GetFullPath(oNormalizedPath) - ' Handle misconfigured drive-letter If oNormalizedPath.Contains(":") Then _logger.Warn($"oNormalizedPath still contains a drive name!!")