mirror of
https://github.com/x-motemen/ghq.git
synced 2026-09-10 07:26:27 -04:00
24 lines
443 B
Go
24 lines
443 B
Go
//go:build windows
|
|
|
|
package main
|
|
|
|
import "syscall"
|
|
|
|
func toFullPath(s string) (string, error) {
|
|
p := syscall.StringToUTF16(s)
|
|
b := p
|
|
n, err := syscall.GetLongPathName(&p[0], &b[0], uint32(len(b)))
|
|
if err != nil {
|
|
return s, err
|
|
}
|
|
if n > uint32(len(b)) {
|
|
b = make([]uint16, n)
|
|
n, err = syscall.GetLongPathName(&p[0], &b[0], uint32(len(b)))
|
|
if err != nil {
|
|
return s, err
|
|
}
|
|
}
|
|
b = b[:n]
|
|
return syscall.UTF16ToString(b), nil
|
|
}
|