X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/os/user
opt
/
golang
/
1.22.0
/
src
/
os
/
user
/
📁
..
📄
cgo_listgroups_unix.go
(1.74 KB)
📄
cgo_lookup_cgo.go
(3.44 KB)
📄
cgo_lookup_syscall.go
(2.2 KB)
📄
cgo_lookup_unix.go
(5.05 KB)
📄
cgo_unix_test.go
(595 B)
📄
cgo_user_test.go
(234 B)
📄
getgrouplist_syscall.go
(424 B)
📄
getgrouplist_unix.go
(657 B)
📄
listgroups_stub.go
(369 B)
📄
listgroups_unix.go
(2.88 KB)
📄
listgroups_unix_test.go
(2.96 KB)
📄
lookup.go
(1.79 KB)
📄
lookup_android.go
(676 B)
📄
lookup_plan9.go
(1.28 KB)
📄
lookup_stubs.go
(1.78 KB)
📄
lookup_unix.go
(6.04 KB)
📄
lookup_unix_test.go
(7.33 KB)
📄
lookup_windows.go
(11.8 KB)
📄
user.go
(2.91 KB)
📄
user_test.go
(3.98 KB)
Editing: lookup_stubs.go
// 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. //go:build (!cgo && !darwin && !windows && !plan9) || android || (osusergo && !windows && !plan9) package user import ( "fmt" "os" "runtime" "strconv" ) var ( // unused variables (in this implementation) // modified during test to exercise code paths in the cgo implementation. userBuffer = 0 groupBuffer = 0 ) func current() (*User, error) { uid := currentUID() // $USER and /etc/passwd may disagree; prefer the latter if we can get it. // See issue 27524 for more information. u, err := lookupUserId(uid) if err == nil { return u, nil } homeDir, _ := os.UserHomeDir() u = &User{ Uid: uid, Gid: currentGID(), Username: os.Getenv("USER"), Name: "", // ignored HomeDir: homeDir, } // On Android, return a dummy user instead of failing. switch runtime.GOOS { case "android": if u.Uid == "" { u.Uid = "1" } if u.Username == "" { u.Username = "android" } } // cgo isn't available, but if we found the minimum information // without it, use it: if u.Uid != "" && u.Username != "" && u.HomeDir != "" { return u, nil } var missing string if u.Username == "" { missing = "$USER" } if u.HomeDir == "" { if missing != "" { missing += ", " } missing += "$HOME" } return u, fmt.Errorf("user: Current requires cgo or %s set in environment", missing) } func currentUID() string { if id := os.Getuid(); id >= 0 { return strconv.Itoa(id) } // Note: Windows returns -1, but this file isn't used on // Windows anyway, so this empty return path shouldn't be // used. return "" } func currentGID() string { if id := os.Getgid(); id >= 0 { return strconv.Itoa(id) } return "" }
Upload File
Create Folder