diff options
Diffstat (limited to 'libgo/go/os/user/lookup_windows.go')
-rw-r--r-- | libgo/go/os/user/lookup_windows.go | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/libgo/go/os/user/lookup_windows.go b/libgo/go/os/user/lookup_windows.go index 7499f6a470b..faaddd2341f 100644 --- a/libgo/go/os/user/lookup_windows.go +++ b/libgo/go/os/user/lookup_windows.go @@ -44,11 +44,7 @@ func lookupFullNameServer(servername, username string) (string, error) { } defer syscall.NetApiBufferFree(p) i := (*syscall.UserInfo10)(unsafe.Pointer(p)) - if i.FullName == nil { - return "", nil - } - name := syscall.UTF16ToString((*[1024]uint16)(unsafe.Pointer(i.FullName))[:]) - return name, nil + return windows.UTF16PtrToString(i.FullName, 1024), nil } func lookupFullName(domain, username, domainAndUser string) (string, error) { @@ -165,14 +161,13 @@ func listGroupsForUsernameAndDomain(username, domain string) ([]string, error) { if entriesRead == 0 { return nil, fmt.Errorf("listGroupsForUsernameAndDomain: NetUserGetLocalGroups() returned an empty list for domain: %s, username: %s", domain, username) } - entries := (*[1024]windows.LocalGroupUserInfo0)(unsafe.Pointer(p0))[:entriesRead] + entries := (*[1024]windows.LocalGroupUserInfo0)(unsafe.Pointer(p0))[:entriesRead:entriesRead] var sids []string for _, entry := range entries { if entry.Name == nil { continue } - name := syscall.UTF16ToString((*[1024]uint16)(unsafe.Pointer(entry.Name))[:]) - sid, err := lookupGroupName(name) + sid, err := lookupGroupName(windows.UTF16PtrToString(entry.Name, 1024)) if err != nil { return nil, err } |