diff --git a/Duplicati/Library/Main/Database/LocalListDatabase.cs b/Duplicati/Library/Main/Database/LocalListDatabase.cs index 23ca5593a..3eff82a01 100644 --- a/Duplicati/Library/Main/Database/LocalListDatabase.cs +++ b/Duplicati/Library/Main/Database/LocalListDatabase.cs @@ -154,7 +154,7 @@ namespace Duplicati.Library.Main.Database if (filecount != foundfiles) { var oldlen = maxpath.Length; - maxpath = System.IO.Path.GetDirectoryName(maxpath); + maxpath = Library.Snapshots.SnapshotUtility.SystemIO.PathGetDirectoryName(maxpath); if (string.IsNullOrWhiteSpace(maxpath) || maxpath.Length == oldlen) maxpath = ""; } diff --git a/Duplicati/Library/Main/Database/LocalRestoreDatabase.cs b/Duplicati/Library/Main/Database/LocalRestoreDatabase.cs index a4523454f..e7426f8df 100644 --- a/Duplicati/Library/Main/Database/LocalRestoreDatabase.cs +++ b/Duplicati/Library/Main/Database/LocalRestoreDatabase.cs @@ -197,7 +197,7 @@ namespace Duplicati.Library.Main.Database if (filecount != foundfiles) { var oldlen = maxpath.Length; - maxpath = System.IO.Path.GetDirectoryName(maxpath); + maxpath = Duplicati.Library.Snapshots.SnapshotUtility.SystemIO.PathGetDirectoryName(maxpath); if (string.IsNullOrWhiteSpace(maxpath) || maxpath.Length == oldlen) maxpath = ""; } diff --git a/Duplicati/Library/Snapshots/SnapshotUtility.cs b/Duplicati/Library/Snapshots/SnapshotUtility.cs index bf2d4151b..e5760e543 100644 --- a/Duplicati/Library/Snapshots/SnapshotUtility.cs +++ b/Duplicati/Library/Snapshots/SnapshotUtility.cs @@ -41,5 +41,13 @@ namespace Duplicati.Library.Snapshots else return new WindowsSnapshot(folders, options); } + + public static ISystemIO SystemIO + { + get + { + return Utility.Utility.IsClientLinux ? (ISystemIO)new SystemIOLinux() : (ISystemIO)new SystemIOWindows(); + } + } } }