From 0397763d5a06e26f0c35540d665e34fe67969e58 Mon Sep 17 00:00:00 2001 From: DVKunion <2622100059@qq.com> Date: Tue, 14 Feb 2023 16:48:21 +0800 Subject: [PATCH] fix(vfs): relative path --- go/pkg/vfs/vfs.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/go/pkg/vfs/vfs.go b/go/pkg/vfs/vfs.go index ce56bba..93867fc 100644 --- a/go/pkg/vfs/vfs.go +++ b/go/pkg/vfs/vfs.go @@ -9,27 +9,42 @@ func rootfs() string { if v := os.Getenv("LIBVEINMIND_HOST_ROOTFS"); v != "" { return v } else { - return "/" + return "" } } func Open(name string) (*os.File, error) { + if path, err := filepath.Abs(name); err == nil { + name = path + } return os.Open(filepath.Join(rootfs(), name)) } func Stat(name string) (os.FileInfo, error) { + if path, err := filepath.Abs(name); err == nil { + name = path + } return os.Stat(filepath.Join(rootfs(), name)) } func Lstat(name string) (os.FileInfo, error) { + if path, err := filepath.Abs(name); err == nil { + name = path + } return os.Lstat(filepath.Join(rootfs(), name)) } func Readlink(name string) (string, error) { + if path, err := filepath.Abs(name); err == nil { + name = path + } return os.Readlink(filepath.Join(rootfs(), name)) } func Readdir(name string) ([]os.DirEntry, error) { + if path, err := filepath.Abs(name); err == nil { + name = path + } return os.ReadDir(filepath.Join(rootfs(), name)) }