From 17833fa13d5a7dcd79ad507fe4abf96b4a4a898b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 15 Mar 2023 21:38:56 -0600 Subject: btrfsprim: Fix Key.Mm(), and add Key.Pp() --- lib/btrfs/btrfsprim/key.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'lib/btrfs/btrfsprim/key.go') diff --git a/lib/btrfs/btrfsprim/key.go b/lib/btrfs/btrfsprim/key.go index 7a3cc5c..b07cc8c 100644 --- a/lib/btrfs/btrfsprim/key.go +++ b/lib/btrfs/btrfsprim/key.go @@ -64,8 +64,26 @@ func (key Key) Mm() Key { key.Offset-- case key.ItemType > 0: key.ItemType-- + key.Offset = MaxOffset case key.ObjectID > 0: key.ObjectID-- + key.ItemType = MAX_KEY + key.Offset = MaxOffset + } + return key +} + +func (key Key) Pp() Key { + switch { + case key.Offset < MaxOffset: + key.Offset++ + case key.ItemType < MAX_KEY: + key.ItemType++ + key.Offset = 0 + case key.ObjectID < MAX_OBJECTID: + key.ObjectID++ + key.ItemType = 0 + key.Offset = 0 } return key } -- cgit v1.2.3-2-g168b