github.com/x-motemen/ghq@v1.6.1/helpers_windows.go (about) 1 // +build windows 2 3 package main 4 5 import "syscall" 6 7 func toFullPath(s string) (string, error) { 8 p := syscall.StringToUTF16(s) 9 b := p 10 n, err := syscall.GetLongPathName(&p[0], &b[0], uint32(len(b))) 11 if err != nil { 12 return s, err 13 } 14 if n > uint32(len(b)) { 15 b = make([]uint16, n) 16 n, err = syscall.GetLongPathName(&p[0], &b[0], uint32(len(b))) 17 if err != nil { 18 return s, err 19 } 20 } 21 b = b[:n] 22 return syscall.UTF16ToString(b), nil 23 }