summaryrefslogtreecommitdiff
path: root/src/pkg/syscall/env_windows.go
diff options
context:
space:
mode:
authorTianon Gravi <admwiggin@gmail.com>2015-01-15 11:54:00 -0700
committerTianon Gravi <admwiggin@gmail.com>2015-01-15 11:54:00 -0700
commitf154da9e12608589e8d5f0508f908a0c3e88a1bb (patch)
treef8255d51e10c6f1e0ed69702200b966c9556a431 /src/pkg/syscall/env_windows.go
parent8d8329ed5dfb9622c82a9fbec6fd99a580f9c9f6 (diff)
downloadgolang-upstream/1.4.tar.gz
Imported Upstream version 1.4upstream/1.4
Diffstat (limited to 'src/pkg/syscall/env_windows.go')
-rw-r--r--src/pkg/syscall/env_windows.go82
1 files changed, 0 insertions, 82 deletions
diff --git a/src/pkg/syscall/env_windows.go b/src/pkg/syscall/env_windows.go
deleted file mode 100644
index 420b38724..000000000
--- a/src/pkg/syscall/env_windows.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Windows environment variables.
-
-package syscall
-
-import (
- "unicode/utf16"
- "unsafe"
-)
-
-func Getenv(key string) (value string, found bool) {
- keyp, err := UTF16PtrFromString(key)
- if err != nil {
- return "", false
- }
- b := make([]uint16, 100)
- n, e := GetEnvironmentVariable(keyp, &b[0], uint32(len(b)))
- if n == 0 && e == ERROR_ENVVAR_NOT_FOUND {
- return "", false
- }
- if n > uint32(len(b)) {
- b = make([]uint16, n)
- n, e = GetEnvironmentVariable(keyp, &b[0], uint32(len(b)))
- if n > uint32(len(b)) {
- n = 0
- }
- }
- return string(utf16.Decode(b[0:n])), true
-}
-
-func Setenv(key, value string) error {
- v, err := UTF16PtrFromString(value)
- if err != nil {
- return err
- }
- keyp, err := UTF16PtrFromString(key)
- if err != nil {
- return err
- }
- e := SetEnvironmentVariable(keyp, v)
- if e != nil {
- return e
- }
- return nil
-}
-
-func Clearenv() {
- for _, s := range Environ() {
- // Environment variables can begin with =
- // so start looking for the separator = at j=1.
- // http://blogs.msdn.com/b/oldnewthing/archive/2010/05/06/10008132.aspx
- for j := 1; j < len(s); j++ {
- if s[j] == '=' {
- Setenv(s[0:j], "")
- break
- }
- }
- }
-}
-
-func Environ() []string {
- s, e := GetEnvironmentStrings()
- if e != nil {
- return nil
- }
- defer FreeEnvironmentStrings(s)
- r := make([]string, 0, 50) // Empty with room to grow.
- for from, i, p := 0, 0, (*[1 << 24]uint16)(unsafe.Pointer(s)); true; i++ {
- if p[i] == 0 {
- // empty string marks the end
- if i <= from {
- break
- }
- r = append(r, string(utf16.Decode(p[from:i])))
- from = i + 1
- }
- }
- return r
-}