diff options
Diffstat (limited to 'vendor/github.com/tetratelabs/wazero/experimental/sys/error.go')
-rw-r--r-- | vendor/github.com/tetratelabs/wazero/experimental/sys/error.go | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/vendor/github.com/tetratelabs/wazero/experimental/sys/error.go b/vendor/github.com/tetratelabs/wazero/experimental/sys/error.go deleted file mode 100644 index a0c76019a..000000000 --- a/vendor/github.com/tetratelabs/wazero/experimental/sys/error.go +++ /dev/null @@ -1,45 +0,0 @@ -package sys - -import ( - "io" - "io/fs" - "os" -) - -// UnwrapOSError returns an Errno or zero if the input is nil. -func UnwrapOSError(err error) Errno { - if err == nil { - return 0 - } - err = underlyingError(err) - switch err { - case nil, io.EOF: - return 0 // EOF is not a Errno - case fs.ErrInvalid: - return EINVAL - case fs.ErrPermission: - return EPERM - case fs.ErrExist: - return EEXIST - case fs.ErrNotExist: - return ENOENT - case fs.ErrClosed: - return EBADF - } - return errorToErrno(err) -} - -// underlyingError returns the underlying error if a well-known OS error type. -// -// This impl is basically the same as os.underlyingError in os/error.go -func underlyingError(err error) error { - switch err := err.(type) { - case *os.PathError: - return err.Err - case *os.LinkError: - return err.Err - case *os.SyscallError: - return err.Err - } - return err -} |