mirror of
https://github.com/golang/go
synced 2024-11-27 04:31:21 -07:00
os: document that Chown with -1 means to leave values unchanged, like POSIX
And fix the nacl implementation. Fixes #24710 Change-Id: I31ffeea03a72dac5021ffb183fde31e9ffd060ad Reviewed-on: https://go-review.googlesource.com/106464 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
a44cd68663
commit
044d2d5af6
@ -451,7 +451,11 @@ func Readlink(name string) (string, error) {
|
||||
|
||||
// Chown changes the numeric uid and gid of the named file.
|
||||
// If the file is a symbolic link, it changes the uid and gid of the link's target.
|
||||
// A uid or gid of -1 means to not change that value.
|
||||
// If there is an error, it will be of type *PathError.
|
||||
//
|
||||
// On Windows or Plan 9, Chown always returns the syscall.EWINDOWS or
|
||||
// EPLAN9 error, wrapped in *PathError.
|
||||
func Chown(name string, uid, gid int) error {
|
||||
return &PathError{"chown", name, syscall.EPLAN9}
|
||||
}
|
||||
|
@ -65,10 +65,11 @@ func (f *File) chmod(mode FileMode) error {
|
||||
|
||||
// Chown changes the numeric uid and gid of the named file.
|
||||
// If the file is a symbolic link, it changes the uid and gid of the link's target.
|
||||
// A uid or gid of -1 means to not change that value.
|
||||
// If there is an error, it will be of type *PathError.
|
||||
//
|
||||
// On Windows, it always returns the syscall.EWINDOWS error, wrapped
|
||||
// in *PathError.
|
||||
// On Windows or Plan 9, Chown always returns the syscall.EWINDOWS or
|
||||
// EPLAN9 error, wrapped in *PathError.
|
||||
func Chown(name string, uid, gid int) error {
|
||||
if e := syscall.Chown(name, uid, gid); e != nil {
|
||||
return &PathError{"chown", name, e}
|
||||
|
@ -582,8 +582,12 @@ func Chown(path string, uid, gid int) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ip.Uid = uint32(uid)
|
||||
ip.Gid = uint32(gid)
|
||||
if uid != -1 {
|
||||
ip.Uid = uint32(uid)
|
||||
}
|
||||
if gid != -1 {
|
||||
ip.Gid = uint32(gid)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user