From ab2214d40049c75a1516d769ce7730e357f6ea62 Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Fri, 3 May 2019 21:46:25 +0000 Subject: [PATCH] Simplify calculation of DIRECTSIZ. No functional change intended. Suggested by: kib MFC after: 1 week --- sys/ufs/ufs/dir.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/ufs/ufs/dir.h b/sys/ufs/ufs/dir.h index 4b68e10b571b..d7de548408e5 100644 --- a/sys/ufs/ufs/dir.h +++ b/sys/ufs/ufs/dir.h @@ -108,13 +108,11 @@ struct direct { * The DIRSIZ macro gives the minimum record length which will hold * the directory entry. This requires the amount of space in struct direct * without the d_name field, plus enough space for the name with a terminating - * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. - * - * + * null byte (dp->d_namlen + 1), rounded up to a 4 byte boundary. */ -#define DIRECTSIZ(namlen) \ - ((__offsetof(struct direct, d_name) + \ - ((namlen)+1)*sizeof(((struct direct *)0)->d_name[0]) + 3) & ~3) +#define DIR_ROUNDUP 4 /* Directory name roundup size */ +#define DIRECTSIZ(namlen) \ + (roundup2(__offsetof(struct direct, d_name) + (namlen) + 1, DIR_ROUNDUP)) #if (BYTE_ORDER == LITTLE_ENDIAN) #define DIRSIZ(oldfmt, dp) \ ((oldfmt) ? DIRECTSIZ((dp)->d_type) : DIRECTSIZ((dp)->d_namlen))