aboutsummaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/sys/windows/env_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/sys/windows/env_windows.go')
-rw-r--r--vendor/golang.org/x/sys/windows/env_windows.go11
1 files changed, 2 insertions, 9 deletions
diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go
index f482a9f..92ac05f 100644
--- a/vendor/golang.org/x/sys/windows/env_windows.go
+++ b/vendor/golang.org/x/sys/windows/env_windows.go
@@ -8,7 +8,6 @@ package windows
8 8
9import ( 9import (
10 "syscall" 10 "syscall"
11 "unicode/utf16"
12 "unsafe" 11 "unsafe"
13) 12)
14 13
@@ -40,17 +39,11 @@ func (token Token) Environ(inheritExisting bool) (env []string, err error) {
40 defer DestroyEnvironmentBlock(block) 39 defer DestroyEnvironmentBlock(block)
41 blockp := uintptr(unsafe.Pointer(block)) 40 blockp := uintptr(unsafe.Pointer(block))
42 for { 41 for {
43 entry := (*[(1 << 30) - 1]uint16)(unsafe.Pointer(blockp))[:] 42 entry := UTF16PtrToString((*uint16)(unsafe.Pointer(blockp)))
44 for i, v := range entry {
45 if v == 0 {
46 entry = entry[:i]
47 break
48 }
49 }
50 if len(entry) == 0 { 43 if len(entry) == 0 {
51 break 44 break
52 } 45 }
53 env = append(env, string(utf16.Decode(entry))) 46 env = append(env, entry)
54 blockp += 2 * (uintptr(len(entry)) + 1) 47 blockp += 2 * (uintptr(len(entry)) + 1)
55 } 48 }
56 return env, nil 49 return env, nil