diff --git a/CorrectPath.go b/CorrectPath.go index 06d71b0..f3d3cf7 100644 --- a/CorrectPath.go +++ b/CorrectPath.go @@ -1,9 +1,12 @@ package main func correctPath(path string) string { + if path[len(path)-1:] == `/` || path[len(path)-1:] == `\` { + // Case: E.g. remote dir = /myfiles/ return path[:len(path)-1] } else { + // Case: E.g. remote dir = /myfiles return path } } diff --git a/Main.go b/Main.go index cde47b7..58e29d5 100644 --- a/Main.go +++ b/Main.go @@ -16,7 +16,7 @@ import ( func main() { // Show the current version: - log.Println(`Sync v1.3.1`) + log.Println(`Sync v1.3.2`) // Allow Go to use all CPUs: runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/Sync/NormalisePath.go b/Sync/NormalisePath.go index 18b5f5a..a833a5c 100644 --- a/Sync/NormalisePath.go +++ b/Sync/NormalisePath.go @@ -7,6 +7,12 @@ import ( func normalisePath(base, path string) string { result := strings.Replace(path, base, ``, 1) + + // Ensure that the path starts with a slash: + if len(result) > 1 && result[0:1] != `/` { + result = filepath.Join(`/`, result) + } + result = filepath.ToSlash(result) return strings.ToLower(result) }