[PATCH 2/2] Replace literal STRLEN_ #defines in refs.h with compiler evaluated expressions
From: Andy Parkins <hidden>
Date: 2016-06-15 22:43:37
Subsystem:
the rest · Maintainer:
Linus Torvalds
Bill Lear pointed out that the following: #define PATH_REMOTES "remotes/" #define STRLEN_PATH_REMOTES 8 Could be replaced by the less error-prone #define PATH_REMOTES "remotes/" #define LIT_STRLEN(S) ((sizeof(S) / sizeof(S[0])) -1) #define STRLEN_PATH_REMOTES LIT_STRLEN(PATH_REMOTES) which is what this patch does. Signed-off-by: Andy Parkins <redacted> --- refs.h | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/refs.h b/refs.h
index 1025d04..fb58889 100644
--- a/refs.h
+++ b/refs.h@@ -13,16 +13,17 @@ struct ref_lock { #define REF_ISSYMREF 01 #define REF_ISPACKED 02 +#define LIT_STRLEN(S) ((sizeof(S) / sizeof(S[0])) -1) #define PATH_OBJECTS "objects/" -#define STRLEN_PATH_OBJECTS 8 +#define STRLEN_PATH_OBJECTS LIT_STRLEN(PATH_OBJECTS) #define PATH_REFS "refs/" -#define STRLEN_PATH_REFS 5 +#define STRLEN_PATH_REFS LIT_STRLEN(PATH_REFS) #define PATH_HEADS "heads/" -#define STRLEN_PATH_HEADS 6 +#define STRLEN_PATH_HEADS LIT_STRLEN(PATH_HEADS) #define PATH_TAGS "tags/" -#define STRLEN_PATH_TAGS 5 +#define STRLEN_PATH_TAGS LIT_STRLEN(PATH_TAGS) #define PATH_REMOTES "remotes/" -#define STRLEN_PATH_REMOTES 8 +#define STRLEN_PATH_REMOTES LIT_STRLEN(PATH_REMOTES) #define PATH_REFS_HEADS PATH_REFS PATH_HEADS #define STRLEN_PATH_REFS_HEADS (STRLEN_PATH_REFS+STRLEN_PATH_HEADS) #define PATH_REFS_TAGS PATH_REFS PATH_TAGS
--
1.5.3.rc5.11.g312e