diff --git a/DearFTP/Utils/NavigablePath.cs b/DearFTP/Utils/NavigablePath.cs index 790fa04..73f4b01 100644 --- a/DearFTP/Utils/NavigablePath.cs +++ b/DearFTP/Utils/NavigablePath.cs @@ -28,7 +28,7 @@ namespace DearFTP.Utils CurrentShare = navigablePath.CurrentShare; CurrentDirectory = navigablePath.CurrentDirectory; - _path = new Stack(navigablePath._path); + _path = new Stack(navigablePath._path.Reverse()); } public string GetFilePath(string fileName) @@ -193,7 +193,7 @@ namespace DearFTP.Utils public bool NavigateTo(string path) { - var oldPath = new Stack(_path); + var oldPath = new Stack(_path.Reverse()); var queue = new Queue(path.Split('/')); // If absolute path @@ -205,7 +205,7 @@ namespace DearFTP.Utils if (NavigateTo(queue)) { - CurrentDirectory = $"/{string.Join('/', _path)}"; + CurrentDirectory = $"/{string.Join('/', _path.Reverse())}"; return true; } @@ -269,7 +269,7 @@ namespace DearFTP.Utils return null; } - return Path.Combine(_path.Skip(1).Prepend(CurrentShare.Path).ToArray()); + return Path.Combine(_path.Reverse().Skip(1).Prepend(CurrentShare.Path).ToArray()); } } }