diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-03-17 18:38:14 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-03-17 18:38:14 -0400 |
commit | 0f85e72d1331b49b52925d6cc5ad083a0376104c (patch) | |
tree | 9ba66e893d6f66096f6b06284d09c8eb3e50facc /lib/btrfs/btrfstree/path.go | |
parent | c0f33186aa7a8903c5e7406024f13fad48cd14e3 (diff) | |
parent | 1ea26f04701fa66e36b058f3efb3a6c7059cdc5c (diff) |
Merge branch 'lukeshu/lint'
Diffstat (limited to 'lib/btrfs/btrfstree/path.go')
-rw-r--r-- | lib/btrfs/btrfstree/path.go | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/lib/btrfs/btrfstree/path.go b/lib/btrfs/btrfstree/path.go index 9b1a5c7..b9ab5bc 100644 --- a/lib/btrfs/btrfstree/path.go +++ b/lib/btrfs/btrfstree/path.go @@ -101,23 +101,22 @@ func (elem TreePathElem) writeNodeTo(w io.Writer) { func (path TreePath) String() string { if len(path) == 0 { return "(empty-path)" + } + var ret strings.Builder + fmt.Fprintf(&ret, "%s->", path[0].FromTree.Format(btrfsprim.ROOT_TREE_OBJECTID)) + if len(path) == 1 && path[0] == (TreePathElem{FromTree: path[0].FromTree, FromItemSlot: -1}) { + ret.WriteString("(empty-path)") } else { - var ret strings.Builder - fmt.Fprintf(&ret, "%s->", path[0].FromTree.Format(btrfsprim.ROOT_TREE_OBJECTID)) - if len(path) == 1 && path[0] == (TreePathElem{FromTree: path[0].FromTree, FromItemSlot: -1}) { - ret.WriteString("(empty-path)") - } else { - path[0].writeNodeTo(&ret) - } - for _, elem := range path[1:] { - fmt.Fprintf(&ret, "[%v]", elem.FromItemSlot) - if elem.ToNodeAddr != 0 { - ret.WriteString("->") - elem.writeNodeTo(&ret) - } + path[0].writeNodeTo(&ret) + } + for _, elem := range path[1:] { + fmt.Fprintf(&ret, "[%v]", elem.FromItemSlot) + if elem.ToNodeAddr != 0 { + ret.WriteString("->") + elem.writeNodeTo(&ret) } - return ret.String() } + return ret.String() } func (path TreePath) DeepCopy() TreePath { @@ -128,9 +127,10 @@ func (path TreePath) Parent() TreePath { return path[:len(path)-1] } -// path.Node(x) is like &path[x], but negative values of x move down -// from the end of path (similar to how lists work in many other -// languages, such as Python). +// Node is returns an element from the path; `path.Node(x)` is like +// `&path[x]`, but negative values of x move down from the end of path +// (similar to how lists work in many other languages, such as +// Python). func (path TreePath) Node(x int) *TreePathElem { if x < 0 { x += len(path) |