aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/syscall/env_plan9.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/syscall/env_plan9.go')
-rw-r--r--libgo/go/syscall/env_plan9.go122
1 files changed, 0 insertions, 122 deletions
diff --git a/libgo/go/syscall/env_plan9.go b/libgo/go/syscall/env_plan9.go
deleted file mode 100644
index e403a25..0000000
--- a/libgo/go/syscall/env_plan9.go
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2011 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.
-
-// Plan 9 environment variables.
-
-package syscall
-
-import (
- "errors"
-)
-
-var (
- errZeroLengthKey = errors.New("zero length key")
- errShortWrite = errors.New("i/o count too small")
-)
-
-func readenv(key string) (string, error) {
- fd, err := open("/env/"+key, O_RDONLY)
- if err != nil {
- return "", err
- }
- defer Close(fd)
- l, _ := Seek(fd, 0, 2)
- Seek(fd, 0, 0)
- buf := make([]byte, l)
- n, err := Read(fd, buf)
- if err != nil {
- return "", err
- }
- if n > 0 && buf[n-1] == 0 {
- buf = buf[:n-1]
- }
- return string(buf), nil
-}
-
-func writeenv(key, value string) error {
- fd, err := create("/env/"+key, O_RDWR, 0666)
- if err != nil {
- return err
- }
- defer Close(fd)
- b := []byte(value)
- n, err := Write(fd, b)
- if err != nil {
- return err
- }
- if n != len(b) {
- return errShortWrite
- }
- return nil
-}
-
-func Getenv(key string) (value string, found bool) {
- if len(key) == 0 {
- return "", false
- }
- v, err := readenv(key)
- if err != nil {
- return "", false
- }
- return v, true
-}
-
-func Setenv(key, value string) error {
- if len(key) == 0 {
- return errZeroLengthKey
- }
- err := writeenv(key, value)
- if err != nil {
- return err
- }
- return nil
-}
-
-func Clearenv() {
- // Creating a new environment group using rfork(RFCENVG) can race
- // with access to files in /env (e.g. from Setenv or Getenv).
- // Remove all environment variables in current environment group instead.
- fd, err := open("/env", O_RDONLY)
- if err != nil {
- return
- }
- defer Close(fd)
- files, err := readdirnames(fd)
- if err != nil {
- return
- }
- for _, key := range files {
- Remove("/env/" + key)
- }
-}
-
-func Unsetenv(key string) error {
- if len(key) == 0 {
- return errZeroLengthKey
- }
- Remove("/env/" + key)
- return nil
-}
-
-func Environ() []string {
- fd, err := open("/env", O_RDONLY)
- if err != nil {
- return nil
- }
- defer Close(fd)
- files, err := readdirnames(fd)
- if err != nil {
- return nil
- }
- ret := make([]string, 0, len(files))
-
- for _, key := range files {
- v, err := readenv(key)
- if err != nil {
- continue
- }
- ret = append(ret, key+"="+v)
- }
- return ret
-}