[PATCH 2/3] Replace literal STRLEN_ #defines in refs.h with compiler evaluated expressions
- From
- Andy Parkins <andyparkins@gmail.com>
- Date
- Oct 4, 2007, 21:10 UTC
- Message-ID
- <200710042210.44940.andyparkins@gmail.com>
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 <andyparkins@gmail.com> --- 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