Files
wazero/internal/sysfs/open_file.go
Crypt Keeper 820685c4b2 Simplifies filesystem implementations (#1548)
Signed-off-by: Adrian Cole <adrian@tetrate.io>
2023-07-01 06:53:09 +08:00

22 lines
587 B
Go

//go:build !windows && !js && !illumos && !solaris
package sysfs
import (
"io/fs"
"os"
"syscall"
"github.com/tetratelabs/wazero/internal/platform"
)
// OpenFile is like os.OpenFile except it returns syscall.Errno. A zero
// syscall.Errno is success.
func openFile(path string, flag int, perm fs.FileMode) (*os.File, syscall.Errno) {
f, err := os.OpenFile(path, flag, perm)
// Note: This does not return a fsapi.File because fsapi.FS that returns
// one may want to hide the real OS path. For example, this is needed for
// pre-opens.
return f, platform.UnwrapOSError(err)
}