diff options
author | Alex Brainman <alex.brainman@gmail.com> | 2014-11-21 12:15:18 +1100 |
---|---|---|
committer | Alex Brainman <alex.brainman@gmail.com> | 2014-11-21 12:15:18 +1100 |
commit | 9823735ab7028af62d52ffc7de4be1ad0c76ff25 (patch) | |
tree | 191653ec30982d05b3e9ac3546912c6deac01b16 | |
parent | 59f1515de7b4d3bf34f008e4e43d488191466700 (diff) | |
download | go-9823735ab7028af62d52ffc7de4be1ad0c76ff25.tar.gz |
[dev.cc] runtime: fix windows goenvs conversion mistake
uint16 occupies 2 bytes, not 1
LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/178100043
-rw-r--r-- | src/runtime/os1_windows.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/os1_windows.go b/src/runtime/os1_windows.go index abd2297a3..57ea050f2 100644 --- a/src/runtime/os1_windows.go +++ b/src/runtime/os1_windows.go @@ -175,7 +175,7 @@ func goenvs() { n := 0 for p = env; *p != 0; n++ { - p = (*uint16)(add(unsafe.Pointer(p), uintptr(findnullw(p)+1))) + p = (*uint16)(add(unsafe.Pointer(p), uintptr(findnullw(p)+1)*unsafe.Sizeof(*p))) } envs = makeStringSlice(int(n)) @@ -183,7 +183,7 @@ func goenvs() { p = env for i := 0; i < n; i++ { envs[i] = gostringw(p) - p = (*uint16)(add(unsafe.Pointer(p), uintptr(findnullw(p)+1))) + p = (*uint16)(add(unsafe.Pointer(p), uintptr(findnullw(p)+1)*unsafe.Sizeof(*p))) } stdcall1(_FreeEnvironmentStringsW, uintptr(unsafe.Pointer(env))) |