summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-10-24 21:14:20 +0700
committerShulhan <ms@kilabit.info>2023-10-24 21:18:32 +0700
commitcea29b1890e2e03c4744d50c3c9d6d3dc4535bdf (patch)
tree43bee65c9b472535d8b27db785cf311874597e75
parent5bd6a228de6fb526cc10ab5284ce59857c2d966b (diff)
downloadpakakeh.go-cea29b1890e2e03c4744d50c3c9d6d3dc4535bdf.tar.xz
lib/memfs: quote the path in the returned error
Error message should at least contains 4W in the following order, WHEN WHO/WHERE WHAT WHY By quoting, user or machine can parse that the value inside quote is the value that cause the error (the what), not part of the cause of the error (the why).
-rw-r--r--lib/memfs/memfs.go12
-rw-r--r--lib/memfs/node.go3
2 files changed, 7 insertions, 8 deletions
diff --git a/lib/memfs/memfs.go b/lib/memfs/memfs.go
index 7aac1d33..e6f30499 100644
--- a/lib/memfs/memfs.go
+++ b/lib/memfs/memfs.go
@@ -587,12 +587,12 @@ func (mfs *MemFS) scanDir(node *Node) (n int, err error) {
// Ignore error due to permission
return 0, nil
}
- return 0, fmt.Errorf("%s: %s: %w", logp, node.SysPath, err)
+ return 0, fmt.Errorf(`%s %q: %w`, logp, node.SysPath, err)
}
fis, err = f.Readdir(0)
if err != nil {
- return 0, fmt.Errorf("%s: %s: %w", logp, node.SysPath, err)
+ return 0, fmt.Errorf(`%s %q: %w`, logp, node.SysPath, err)
}
sort.SliceStable(fis, func(x, y int) bool {
@@ -602,7 +602,7 @@ func (mfs *MemFS) scanDir(node *Node) (n int, err error) {
for _, fi = range fis {
child, err = mfs.AddChild(node, fi)
if err != nil {
- err = fmt.Errorf("%s: %s: %w", logp, node.SysPath, err)
+ err = fmt.Errorf(`%s %q: %w`, logp, node.SysPath, err)
goto out
}
if child == nil {
@@ -615,7 +615,7 @@ func (mfs *MemFS) scanDir(node *Node) (n int, err error) {
nchilds, err = mfs.scanDir(child)
if err != nil {
- err = fmt.Errorf("%s: %s: %w", logp, node.SysPath, err)
+ err = fmt.Errorf(`%s %q: %w`, logp, node.SysPath, err)
goto out
}
if nchilds == 0 {
@@ -628,9 +628,9 @@ out:
errClose := f.Close()
if errClose != nil {
if err == nil {
- err = fmt.Errorf("%s: %s: %w", logp, node.SysPath, errClose)
+ err = fmt.Errorf(`%s %q: %w`, logp, node.SysPath, errClose)
} else {
- log.Printf("%s: %s: %s", logp, node.SysPath, errClose)
+ log.Printf(`%s %q: %s`, logp, node.SysPath, errClose)
}
}
diff --git a/lib/memfs/node.go b/lib/memfs/node.go
index 5d927efd..cbb2b5da 100644
--- a/lib/memfs/node.go
+++ b/lib/memfs/node.go
@@ -356,7 +356,6 @@ func (node *Node) addChild(
sysPath string, fi os.FileInfo, maxFileSize int64,
) (child *Node, err error) {
var (
- logp = "Node.addChild"
relPath = path.Join(node.Path, fi.Name())
found bool
)
@@ -373,7 +372,7 @@ func (node *Node) addChild(
child, err = NewNode(node, fi, maxFileSize)
if err != nil {
- return nil, fmt.Errorf("%s: %w", logp, err)
+ return nil, err
}
child.SysPath = sysPath