From: Pierre Habouzit Date: Wed, 22 Jul 2009 21:34:34 +0000 (+0200) Subject: refactor: use bitsizeof() instead of 8 * sizeof() X-Git-Tag: v1.6.4-rc2~3 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f630cfda8800aee03c7eb2fcd0f840730fbe43b9;p=git.git refactor: use bitsizeof() instead of 8 * sizeof() Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- diff --git a/git-compat-util.h b/git-compat-util.h index 913f41a42..6dfc0ddd9 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -26,6 +26,7 @@ #endif #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) +#define bitsizeof(x) (CHAR_BIT * sizeof(x)) #ifdef __GNUC__ #define TYPEOF(x) (__typeof__(x)) @@ -33,7 +34,7 @@ #define TYPEOF(x) #endif -#define MSB(x, bits) ((x) & TYPEOF(x)(~0ULL << (sizeof(x) * 8 - (bits)))) +#define MSB(x, bits) ((x) & TYPEOF(x)(~0ULL << (bitsizeof(x) - (bits)))) #define HAS_MULTI_BITS(i) ((i) & ((i) - 1)) /* checks if an integer has more than 1 bit set */ /* Approximation of the length of the decimal representation of this type. */ diff --git a/sha1_file.c b/sha1_file.c index 4576ff77f..1d996a199 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1170,7 +1170,7 @@ unsigned long unpack_object_header_buffer(const unsigned char *buf, size = c & 15; shift = 4; while (c & 0x80) { - if (len <= used || sizeof(long) * 8 <= shift) { + if (len <= used || bitsizeof(long) <= shift) { error("bad object header"); return 0; } diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c index 1ebab687f..da67c0435 100644 --- a/xdiff/xdiffi.c +++ b/xdiff/xdiffi.c @@ -26,7 +26,7 @@ #define XDL_MAX_COST_MIN 256 #define XDL_HEUR_MIN_COST 256 -#define XDL_LINE_MAX (long)((1UL << (8 * sizeof(long) - 1)) - 1) +#define XDL_LINE_MAX (long)((1UL << (CHAR_BIT * sizeof(long) - 1)) - 1) #define XDL_SNAKE_CNT 20 #define XDL_K_HEUR 4