X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=xdiff%2Fxmacros.h;h=e2cd2023b31e794bc0c5ba28f64ae4ce4e128184;hb=20f50f1670c18173d74a34527b0c538c3fbbfde3;hp=78f02603b8abde66cb170ca867345cbb70660f60;hpb=7bfd678d21e7a5c01c3ca10b5eb8c2ab144cec4a;p=git.git diff --git a/xdiff/xmacros.h b/xdiff/xmacros.h index 78f02603b..e2cd2023b 100644 --- a/xdiff/xmacros.h +++ b/xdiff/xmacros.h @@ -24,16 +24,16 @@ #define XMACROS_H -#define GR_PRIME 0x9e370001UL #define XDL_MIN(a, b) ((a) < (b) ? (a): (b)) #define XDL_MAX(a, b) ((a) > (b) ? (a): (b)) #define XDL_ABS(v) ((v) >= 0 ? (v): -(v)) #define XDL_ISDIGIT(c) ((c) >= '0' && (c) <= '9') -#define XDL_HASHLONG(v, b) (((unsigned long)(v) * GR_PRIME) >> ((CHAR_BIT * sizeof(unsigned long)) - (b))) +#define XDL_ADDBITS(v,b) ((v) + ((v) >> (b))) +#define XDL_MASKBITS(b) ((1UL << (b)) - 1) +#define XDL_HASHLONG(v,b) (XDL_ADDBITS((unsigned long)(v), b) & XDL_MASKBITS(b)) #define XDL_PTRFREE(p) do { if (p) { xdl_free(p); (p) = NULL; } } while (0) -#define XDL_RECMATCH(r1, r2) ((r1)->size == (r2)->size && memcmp((r1)->ptr, (r2)->ptr, (r1)->size) == 0) #define XDL_LE32_PUT(p, v) \ do { \ unsigned char *__p = (unsigned char *) (p); \