mirror of https://github.com/tinygo-org/tinygo.git
Browse Source
I tried implementing enough CGo support to get the native os/user package to work. But I hit a few bugs, probably in CGo itself. Then I realized I could just as well set the osusergo build tag to disable CGo for this specific case. This actually gets the os/user package to work correctly on Linux (I confirmed it returns my name/uid/homedir etc). On other systems, it probably just returns an error if it can't determine these kinds of things. But that's no worse than the current behavior which just doesn't do anything at all.pull/4414/head
Ayke van Laethem
4 months ago
committed by
Ron Evans
4 changed files with 3 additions and 60 deletions
@ -1,59 +0,0 @@ |
|||
// Copyright 2016 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 user |
|||
|
|||
import "errors" |
|||
|
|||
// User represents a user account.
|
|||
type User struct { |
|||
// Uid is the user ID.
|
|||
// On POSIX systems, this is a decimal number representing the uid.
|
|||
// On Windows, this is a security identifier (SID) in a string format.
|
|||
// On Plan 9, this is the contents of /dev/user.
|
|||
Uid string |
|||
// Gid is the primary group ID.
|
|||
// On POSIX systems, this is a decimal number representing the gid.
|
|||
// On Windows, this is a SID in a string format.
|
|||
// On Plan 9, this is the contents of /dev/user.
|
|||
Gid string |
|||
// Username is the login name.
|
|||
Username string |
|||
// Name is the user's real or display name.
|
|||
// It might be blank.
|
|||
// On POSIX systems, this is the first (or only) entry in the GECOS field
|
|||
// list.
|
|||
// On Windows, this is the user's display name.
|
|||
// On Plan 9, this is the contents of /dev/user.
|
|||
Name string |
|||
// HomeDir is the path to the user's home directory (if they have one).
|
|||
HomeDir string |
|||
} |
|||
|
|||
// Current returns the current user.
|
|||
//
|
|||
// The first call will cache the current user information.
|
|||
// Subsequent calls will return the cached value and will not reflect
|
|||
// changes to the current user.
|
|||
func Current() (*User, error) { |
|||
return nil, errors.New("user: Current not implemented") |
|||
} |
|||
|
|||
// Lookup always returns an error.
|
|||
func Lookup(username string) (*User, error) { |
|||
return nil, errors.New("user: Lookup not implemented") |
|||
} |
|||
|
|||
// Group represents a grouping of users.
|
|||
//
|
|||
// On POSIX systems Gid contains a decimal number representing the group ID.
|
|||
type Group struct { |
|||
Gid string // group ID
|
|||
Name string // group name
|
|||
} |
|||
|
|||
// LookupGroup always returns an error.
|
|||
func LookupGroup(name string) (*Group, error) { |
|||
return nil, errors.New("user: LookupGroup not implemented") |
|||
} |
Loading…
Reference in new issue