diff options
| author | Shulhan <ms@kilabit.info> | 2023-10-24 21:14:20 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-10-24 21:18:32 +0700 |
| commit | cea29b1890e2e03c4744d50c3c9d6d3dc4535bdf (patch) | |
| tree | 43bee65c9b472535d8b27db785cf311874597e75 | |
| parent | 5bd6a228de6fb526cc10ab5284ce59857c2d966b (diff) | |
| download | pakakeh.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.go | 12 | ||||
| -rw-r--r-- | lib/memfs/node.go | 3 |
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 |
