diff options
Diffstat (limited to 'libgo/go/os/error.go')
-rw-r--r-- | libgo/go/os/error.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libgo/go/os/error.go b/libgo/go/os/error.go index e26ce27970..7235bfb6d6 100644 --- a/libgo/go/os/error.go +++ b/libgo/go/os/error.go @@ -14,6 +14,7 @@ var ( ErrPermission = errors.New("permission denied") ErrExist = errors.New("file already exists") ErrNotExist = errors.New("file does not exist") + ErrClosed = errors.New("file already closed") ) // PathError records an error and the operation and file path that caused it. @@ -63,3 +64,16 @@ func IsNotExist(err error) bool { func IsPermission(err error) bool { return isPermission(err) } + +// underlyingError returns the underlying error for known os error types. +func underlyingError(err error) error { + switch err := err.(type) { + case *PathError: + return err.Err + case *LinkError: + return err.Err + case *SyscallError: + return err.Err + } + return err +} |