From 28549f676e040c96bfae575535dea7e0ecdf0f41 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 11 Feb 2023 22:15:41 -0700 Subject: Change how constants are declared to play nice with godoc Switch to NAME Type = val instead of NAME = Type(val) --- lib/btrfs/btrfsitem/item_dir.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'lib/btrfs/btrfsitem/item_dir.go') diff --git a/lib/btrfs/btrfsitem/item_dir.go b/lib/btrfs/btrfsitem/item_dir.go index 0049072..0f263d5 100644 --- a/lib/btrfs/btrfsitem/item_dir.go +++ b/lib/btrfs/btrfsitem/item_dir.go @@ -84,17 +84,17 @@ func (o DirEntry) MarshalBinary() ([]byte, error) { type FileType uint8 const ( - FT_UNKNOWN = FileType(0) - FT_REG_FILE = FileType(1) - FT_DIR = FileType(2) - FT_CHRDEV = FileType(3) - FT_BLKDEV = FileType(4) - FT_FIFO = FileType(5) - FT_SOCK = FileType(6) - FT_SYMLINK = FileType(7) - FT_XATTR = FileType(8) + FT_UNKNOWN FileType = 0 + FT_REG_FILE FileType = 1 + FT_DIR FileType = 2 + FT_CHRDEV FileType = 3 + FT_BLKDEV FileType = 4 + FT_FIFO FileType = 5 + FT_SOCK FileType = 6 + FT_SYMLINK FileType = 7 + FT_XATTR FileType = 8 - FT_MAX = FileType(9) + FT_MAX FileType = 9 ) func (ft FileType) String() string { -- cgit v1.2.3-2-g168b From acbbfafa07922b458506b91a58f3a082da453fd1 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 11 Feb 2023 22:33:44 -0700 Subject: Try to avoid unnecessary allocations in enum-types' String methods --- lib/btrfs/btrfsitem/item_dir.go | 47 +++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'lib/btrfs/btrfsitem/item_dir.go') diff --git a/lib/btrfs/btrfsitem/item_dir.go b/lib/btrfs/btrfsitem/item_dir.go index 0f263d5..c1b3c09 100644 --- a/lib/btrfs/btrfsitem/item_dir.go +++ b/lib/btrfs/btrfsitem/item_dir.go @@ -84,33 +84,34 @@ func (o DirEntry) MarshalBinary() ([]byte, error) { type FileType uint8 const ( - FT_UNKNOWN FileType = 0 - FT_REG_FILE FileType = 1 - FT_DIR FileType = 2 - FT_CHRDEV FileType = 3 - FT_BLKDEV FileType = 4 - FT_FIFO FileType = 5 - FT_SOCK FileType = 6 - FT_SYMLINK FileType = 7 - FT_XATTR FileType = 8 + FT_UNKNOWN FileType = iota + FT_REG_FILE + FT_DIR + FT_CHRDEV + FT_BLKDEV + FT_FIFO + FT_SOCK + FT_SYMLINK + FT_XATTR - FT_MAX FileType = 9 + FT_MAX ) +var fileTypeNames = []string{ + "UNKNOWN", + "FILE", // NB: Just "FILE", despite corresponding to "REG_FILE" + "DIR", + "CHRDEV", + "BLKDEV", + "FIFO", + "SOCK", + "SYMLINK", + "XATTR", +} + func (ft FileType) String() string { - names := map[FileType]string{ - FT_UNKNOWN: "UNKNOWN", - FT_REG_FILE: "FILE", // XXX - FT_DIR: "DIR", - FT_CHRDEV: "CHRDEV", - FT_BLKDEV: "BLKDEV", - FT_FIFO: "FIFO", - FT_SOCK: "SOCK", - FT_SYMLINK: "SYMLINK", - FT_XATTR: "XATTR", - } - if name, ok := names[ft]; ok { - return name + if ft < FT_MAX { + return fileTypeNames[ft] } return fmt.Sprintf("DIR_ITEM.%d", uint8(ft)) } -- cgit v1.2.3-2-g168b