Skip to content

Commit

Permalink
os: use keyed literals for PathError
Browse files Browse the repository at this point in the history
Necessary to move PathError to io/fs.

For #41190.

Change-Id: I05e87675f38a22f0570d4366b751b6169f7a1b13
Reviewed-on: https://go-review.googlesource.com/c/go/+/243900
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
  • Loading branch information
rsc committed Oct 20, 2020
1 parent a4ede9f commit 2291cae
Show file tree
Hide file tree
Showing 17 changed files with 79 additions and 79 deletions.
8 changes: 4 additions & 4 deletions src/os/dir_plan9.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,23 @@ func (file *File) readdir(n int, mode readdirMode) (names []string, dirents []Di
if err == io.EOF {
break
}
return names, dirents, infos, &PathError{"readdir", file.name, err}
return names, dirents, infos, &PathError{Op: "readdir", Path: file.name, Err: err}
}
if nb < syscall.STATFIXLEN {
return names, dirents, infos, &PathError{"readdir", file.name, syscall.ErrShortStat}
return names, dirents, infos, &PathError{Op: "readdir", Path: file.name, Err: syscall.ErrShortStat}
}
}

// Get a record from the buffer.
b := d.buf[d.bufp:]
m := int(uint16(b[0])|uint16(b[1])<<8) + 2
if m < syscall.STATFIXLEN {
return names, dirents, infos, &PathError{"readdir", file.name, syscall.ErrShortStat}
return names, dirents, infos, &PathError{Op: "readdir", Path: file.name, Err: syscall.ErrShortStat}
}

dir, err := syscall.UnmarshalDir(b[:m])
if err != nil {
return names, dirents, infos, &PathError{"readdir", file.name, err}
return names, dirents, infos, &PathError{Op: "readdir", Path: file.name, Err: err}
}

if mode == readdirName {
Expand Down
2 changes: 1 addition & 1 deletion src/os/dir_unix.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func (f *File) readdir(n int, mode readdirMode) (names []string, dirents []DirEn
d.nbuf, errno = f.pfd.ReadDirent(d.buf)
runtime.KeepAlive(f)
if errno != nil {
return names, dirents, infos, &PathError{"readdirent", f.name, errno}
return names, dirents, infos, &PathError{Op: "readdirent", Path: f.name, Err: errno}
}
if d.nbuf <= 0 {
break // EOF
Expand Down
4 changes: 2 additions & 2 deletions src/os/dir_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (

func (file *File) readdir(n int, mode readdirMode) (names []string, dirents []DirEntry, infos []FileInfo, err error) {
if !file.isdir() {
return nil, nil, nil, &PathError{"readdir", file.name, syscall.ENOTDIR}
return nil, nil, nil, &PathError{Op: "readdir", Path: file.name, Err: syscall.ENOTDIR}
}
wantAll := n <= 0
if wantAll {
Expand All @@ -27,7 +27,7 @@ func (file *File) readdir(n int, mode readdirMode) (names []string, dirents []Di
if e == syscall.ERROR_NO_MORE_FILES {
break
} else {
err = &PathError{"FindNextFile", file.name, e}
err = &PathError{Op: "FindNextFile", Path: file.name, Err: e}
return
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/os/exec_plan9.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func startProcess(name string, argv []string, attr *ProcAttr) (p *Process, err e

pid, h, e := syscall.StartProcess(name, argv, sysattr)
if e != nil {
return nil, &PathError{"fork/exec", name, e}
return nil, &PathError{Op: "fork/exec", Path: name, Err: e}
}

return newProcess(pid, h), nil
Expand Down
2 changes: 1 addition & 1 deletion src/os/exec_posix.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func startProcess(name string, argv []string, attr *ProcAttr) (p *Process, err e
runtime.KeepAlive(attr)

if e != nil {
return nil, &PathError{"fork/exec", name, e}
return nil, &PathError{Op: "fork/exec", Path: name, Err: e}
}

return newProcess(pid, h), nil
Expand Down
12 changes: 6 additions & 6 deletions src/os/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ func (f *File) ReadAt(b []byte, off int64) (n int, err error) {
}

if off < 0 {
return 0, &PathError{"readat", f.name, errors.New("negative offset")}
return 0, &PathError{Op: "readat", Path: f.name, Err: errors.New("negative offset")}
}

for len(b) > 0 {
Expand Down Expand Up @@ -203,7 +203,7 @@ func (f *File) WriteAt(b []byte, off int64) (n int, err error) {
}

if off < 0 {
return 0, &PathError{"writeat", f.name, errors.New("negative offset")}
return 0, &PathError{Op: "writeat", Path: f.name, Err: errors.New("negative offset")}
}

for len(b) > 0 {
Expand Down Expand Up @@ -253,15 +253,15 @@ func (f *File) WriteString(s string) (n int, err error) {
// If there is an error, it will be of type *PathError.
func Mkdir(name string, perm FileMode) error {
if runtime.GOOS == "windows" && isWindowsNulName(name) {
return &PathError{"mkdir", name, syscall.ENOTDIR}
return &PathError{Op: "mkdir", Path: name, Err: syscall.ENOTDIR}
}
longName := fixLongPath(name)
e := ignoringEINTR(func() error {
return syscall.Mkdir(longName, syscallMode(perm))
})

if e != nil {
return &PathError{"mkdir", name, e}
return &PathError{Op: "mkdir", Path: name, Err: e}
}

// mkdir(2) itself won't handle the sticky bit on *BSD and Solaris
Expand Down Expand Up @@ -291,7 +291,7 @@ func setStickyBit(name string) error {
func Chdir(dir string) error {
if e := syscall.Chdir(dir); e != nil {
testlog.Open(dir) // observe likely non-existent directory
return &PathError{"chdir", dir, e}
return &PathError{Op: "chdir", Path: dir, Err: e}
}
if log := testlog.Logger(); log != nil {
wd, err := Getwd()
Expand Down Expand Up @@ -366,7 +366,7 @@ func (f *File) wrapErr(op string, err error) error {
if err == poll.ErrFileClosing {
err = ErrClosed
}
return &PathError{op, f.name, err}
return &PathError{Op: op, Path: f.name, Err: err}
}

// TempDir returns the default directory to use for temporary files.
Expand Down
50 changes: 25 additions & 25 deletions src/os/file_plan9.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,18 +119,18 @@ func openFileNolog(name string, flag int, perm FileMode) (*File, error) {
if IsNotExist(e) && create {
fd, e = syscall.Create(name, flag, syscallMode(perm))
if e != nil {
return nil, &PathError{"create", name, e}
return nil, &PathError{Op: "create", Path: name, Err: e}
}
}
}

if e != nil {
return nil, &PathError{"open", name, e}
return nil, &PathError{Op: "open", Path: name, Err: e}
}

if append {
if _, e = syscall.Seek(fd, 0, io.SeekEnd); e != nil {
return nil, &PathError{"seek", name, e}
return nil, &PathError{Op: "seek", Path: name, Err: e}
}
}

Expand All @@ -154,7 +154,7 @@ func (file *file) close() error {
}
var err error
if e := syscall.Close(file.fd); e != nil {
err = &PathError{"close", file.name, e}
err = &PathError{Op: "close", Path: file.name, Err: e}
}
file.fd = badFd // so it can't be closed again

Expand Down Expand Up @@ -191,10 +191,10 @@ func (f *File) Truncate(size int64) error {
var buf [syscall.STATFIXLEN]byte
n, err := d.Marshal(buf[:])
if err != nil {
return &PathError{"truncate", f.name, err}
return &PathError{Op: "truncate", Path: f.name, Err: err}
}
if err = syscall.Fwstat(f.fd, buf[:n]); err != nil {
return &PathError{"truncate", f.name, err}
return &PathError{Op: "truncate", Path: f.name, Err: err}
}
return nil
}
Expand All @@ -209,18 +209,18 @@ func (f *File) chmod(mode FileMode) error {

odir, e := dirstat(f)
if e != nil {
return &PathError{"chmod", f.name, e}
return &PathError{Op: "chmod", Path: f.name, Err: e}
}
d.Null()
d.Mode = odir.Mode&^chmodMask | syscallMode(mode)&chmodMask

var buf [syscall.STATFIXLEN]byte
n, err := d.Marshal(buf[:])
if err != nil {
return &PathError{"chmod", f.name, err}
return &PathError{Op: "chmod", Path: f.name, Err: err}
}
if err = syscall.Fwstat(f.fd, buf[:n]); err != nil {
return &PathError{"chmod", f.name, err}
return &PathError{Op: "chmod", Path: f.name, Err: err}
}
return nil
}
Expand All @@ -238,10 +238,10 @@ func (f *File) Sync() error {
var buf [syscall.STATFIXLEN]byte
n, err := d.Marshal(buf[:])
if err != nil {
return &PathError{"sync", f.name, err}
return &PathError{Op: "sync", Path: f.name, Err: err}
}
if err = syscall.Fwstat(f.fd, buf[:n]); err != nil {
return &PathError{"sync", f.name, err}
return &PathError{Op: "sync", Path: f.name, Err: err}
}
return nil
}
Expand Down Expand Up @@ -314,10 +314,10 @@ func Truncate(name string, size int64) error {
var buf [syscall.STATFIXLEN]byte
n, err := d.Marshal(buf[:])
if err != nil {
return &PathError{"truncate", name, err}
return &PathError{Op: "truncate", Path: name, Err: err}
}
if err = syscall.Wstat(name, buf[:n]); err != nil {
return &PathError{"truncate", name, err}
return &PathError{Op: "truncate", Path: name, Err: err}
}
return nil
}
Expand All @@ -326,7 +326,7 @@ func Truncate(name string, size int64) error {
// If there is an error, it will be of type *PathError.
func Remove(name string) error {
if e := syscall.Remove(name); e != nil {
return &PathError{"remove", name, e}
return &PathError{Op: "remove", Path: name, Err: e}
}
return nil
}
Expand Down Expand Up @@ -389,18 +389,18 @@ func chmod(name string, mode FileMode) error {

odir, e := dirstat(name)
if e != nil {
return &PathError{"chmod", name, e}
return &PathError{Op: "chmod", Path: name, Err: e}
}
d.Null()
d.Mode = odir.Mode&^chmodMask | syscallMode(mode)&chmodMask

var buf [syscall.STATFIXLEN]byte
n, err := d.Marshal(buf[:])
if err != nil {
return &PathError{"chmod", name, err}
return &PathError{Op: "chmod", Path: name, Err: err}
}
if err = syscall.Wstat(name, buf[:n]); err != nil {
return &PathError{"chmod", name, err}
return &PathError{Op: "chmod", Path: name, Err: err}
}
return nil
}
Expand All @@ -421,10 +421,10 @@ func Chtimes(name string, atime time.Time, mtime time.Time) error {
var buf [syscall.STATFIXLEN]byte
n, err := d.Marshal(buf[:])
if err != nil {
return &PathError{"chtimes", name, err}
return &PathError{Op: "chtimes", Path: name, Err: err}
}
if err = syscall.Wstat(name, buf[:n]); err != nil {
return &PathError{"chtimes", name, err}
return &PathError{Op: "chtimes", Path: name, Err: err}
}
return nil
}
Expand Down Expand Up @@ -458,7 +458,7 @@ func Symlink(oldname, newname string) error {
// Readlink returns the destination of the named symbolic link.
// If there is an error, it will be of type *PathError.
func Readlink(name string) (string, error) {
return "", &PathError{"readlink", name, syscall.EPLAN9}
return "", &PathError{Op: "readlink", Path: name, Err: syscall.EPLAN9}
}

// Chown changes the numeric uid and gid of the named file.
Expand All @@ -469,14 +469,14 @@ func Readlink(name string) (string, error) {
// 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}
return &PathError{Op: "chown", Path: name, Err: syscall.EPLAN9}
}

// Lchown 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 itself.
// If there is an error, it will be of type *PathError.
func Lchown(name string, uid, gid int) error {
return &PathError{"lchown", name, syscall.EPLAN9}
return &PathError{Op: "lchown", Path: name, Err: syscall.EPLAN9}
}

// Chown changes the numeric uid and gid of the named file.
Expand All @@ -485,7 +485,7 @@ func (f *File) Chown(uid, gid int) error {
if f == nil {
return ErrInvalid
}
return &PathError{"chown", f.name, syscall.EPLAN9}
return &PathError{Op: "chown", Path: f.name, Err: syscall.EPLAN9}
}

func tempDir() string {
Expand All @@ -505,7 +505,7 @@ func (f *File) Chdir() error {
return err
}
if e := syscall.Fchdir(f.fd); e != nil {
return &PathError{"chdir", f.name, e}
return &PathError{Op: "chdir", Path: f.name, Err: e}
}
return nil
}
Expand Down Expand Up @@ -541,7 +541,7 @@ func (f *File) checkValid(op string) error {
return ErrInvalid
}
if f.fd == badFd {
return &PathError{op, f.name, ErrClosed}
return &PathError{Op: op, Path: f.name, Err: ErrClosed}
}
return nil
}
Expand Down
8 changes: 4 additions & 4 deletions src/os/file_posix.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func chmod(name string, mode FileMode) error {
return syscall.Chmod(longName, syscallMode(mode))
})
if e != nil {
return &PathError{"chmod", name, e}
return &PathError{Op: "chmod", Path: name, Err: e}
}
return nil
}
Expand Down Expand Up @@ -109,7 +109,7 @@ func Chown(name string, uid, gid int) error {
return syscall.Chown(name, uid, gid)
})
if e != nil {
return &PathError{"chown", name, e}
return &PathError{Op: "chown", Path: name, Err: e}
}
return nil
}
Expand All @@ -125,7 +125,7 @@ func Lchown(name string, uid, gid int) error {
return syscall.Lchown(name, uid, gid)
})
if e != nil {
return &PathError{"lchown", name, e}
return &PathError{Op: "lchown", Path: name, Err: e}
}
return nil
}
Expand Down Expand Up @@ -182,7 +182,7 @@ func Chtimes(name string, atime time.Time, mtime time.Time) error {
utimes[0] = syscall.NsecToTimespec(atime.UnixNano())
utimes[1] = syscall.NsecToTimespec(mtime.UnixNano())
if e := syscall.UtimesNano(fixLongPath(name), utimes[0:]); e != nil {
return &PathError{"chtimes", name, e}
return &PathError{Op: "chtimes", Path: name, Err: e}
}
return nil
}
Expand Down
10 changes: 5 additions & 5 deletions src/os/file_unix.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ func openFileNolog(name string, flag int, perm FileMode) (*File, error) {
continue
}

return nil, &PathError{"open", name, e}
return nil, &PathError{Op: "open", Path: name, Err: e}
}

// open(2) itself won't handle the sticky bit on *BSD and Solaris
Expand Down Expand Up @@ -244,7 +244,7 @@ func (file *file) close() error {
if e == poll.ErrFileClosing {
e = ErrClosed
}
err = &PathError{"close", file.name, e}
err = &PathError{Op: "close", Path: file.name, Err: e}
}

// no need for a finalizer anymore
Expand Down Expand Up @@ -276,7 +276,7 @@ func Truncate(name string, size int64) error {
return syscall.Truncate(name, size)
})
if e != nil {
return &PathError{"truncate", name, e}
return &PathError{Op: "truncate", Path: name, Err: e}
}
return nil
}
Expand Down Expand Up @@ -313,7 +313,7 @@ func Remove(name string) error {
if e1 != syscall.ENOTDIR {
e = e1
}
return &PathError{"remove", name, e}
return &PathError{Op: "remove", Path: name, Err: e}
}

func tempDir() string {
Expand Down Expand Up @@ -372,7 +372,7 @@ func Readlink(name string) (string, error) {
continue
}
if e != nil {
return "", &PathError{"readlink", name, e}
return "", &PathError{Op: "readlink", Path: name, Err: e}
}
if n < len {
return string(b[0:n]), nil
Expand Down
Loading

0 comments on commit 2291cae

Please sign in to comment.