diff options
Diffstat (limited to 'xdiff')
-rw-r--r-- | xdiff/xutils.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/xdiff/xutils.c b/xdiff/xutils.c index 277ccdff02..2021117799 100644 --- a/xdiff/xutils.c +++ b/xdiff/xutils.c @@ -301,7 +301,13 @@ static inline long count_masked_bytes(unsigned long mask) * that works for the bytemasks without having to * mask them first. */ - return mask * 0x0001020304050608 >> 56; + /* + * return mask * 0x0001020304050608 >> 56; + * + * Doing it like this avoids warnings on 32-bit machines. + */ + long a = (REPEAT_BYTE(0x01) / 0xff + 1); + return mask * a >> (sizeof(long) * 7); } else { /* * Modified Carl Chatfield G+ version for 32-bit * |