summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Brainman <alex.brainman@gmail.com>2014-11-21 12:15:18 +1100
committerAlex Brainman <alex.brainman@gmail.com>2014-11-21 12:15:18 +1100
commit9823735ab7028af62d52ffc7de4be1ad0c76ff25 (patch)
tree191653ec30982d05b3e9ac3546912c6deac01b16
parent59f1515de7b4d3bf34f008e4e43d488191466700 (diff)
downloadgo-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.go4
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)))