...
Run Format

Source file src/runtime/env_plan9.go

Documentation: runtime

  // Copyright 2012 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.
  
  package runtime
  
  import "unsafe"
  
  var tracebackbuf [128]byte
  
  func gogetenv(key string) string {
  	var file [128]byte
  	if len(key) > len(file)-6 {
  		return ""
  	}
  
  	copy(file[:], "/env/")
  	copy(file[5:], key)
  
  	fd := open(&file[0], _OREAD, 0)
  	if fd < 0 {
  		return ""
  	}
  	n := seek(fd, 0, 2)
  	if n <= 0 {
  		closefd(fd)
  		return ""
  	}
  
  	p := make([]byte, n)
  
  	r := pread(fd, unsafe.Pointer(&p[0]), int32(n), 0)
  	closefd(fd)
  	if r < 0 {
  		return ""
  	}
  
  	if p[r-1] == 0 {
  		r--
  	}
  
  	var s string
  	sp := stringStructOf(&s)
  	sp.str = unsafe.Pointer(&p[0])
  	sp.len = int(r)
  	return s
  }
  
  var _cgo_setenv unsafe.Pointer   // pointer to C function
  var _cgo_unsetenv unsafe.Pointer // pointer to C function
  

View as plain text