package sftp import ( "path" "path/filepath" "syscall" ) func fakeFileInfoSys() interface{} { return syscall.Win32FileAttributeData{} } func testOsSys(sys interface{}) error { return nil } func toLocalPath(p string) string { lp := filepath.FromSlash(p) if path.IsAbs(p) { tmp := lp for len(tmp) > 0 && tmp[0] == '\\' { tmp = tmp[1:] } if filepath.IsAbs(tmp) { // If the FromSlash without any starting slashes is absolute, // then we have a filepath encoded with a prefix '/'. // e.g. "/C:/Windows" to "C:\\Windows" return tmp } tmp += "\\" if filepath.IsAbs(tmp) { // If the FromSlash without any starting slashes but with extra end slash is absolute, // then we have a filepath encoded with a prefix '/' and a dropped '/' at the end. // e.g. "/C:" to "C:\\" return tmp } } return lp }