/* ========================================================================= */
#define DOLIT4 c ^= *buf4++; \
- c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
- crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24]
+ c = (u4)(crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
+ crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24])
#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4
/* ========================================================================= */
c = (u4)crc;
c = ~c;
while (len && ((ptrdiff_t)buf & 3)) {
- c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
+ c = (u4)(crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8));
len--;
}
buf = (const unsigned char FAR *)buf4;
if (len) do {
- c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
+ c = (u4)(crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8));
} while (--len);
c = ~c;
return (unsigned long)c;
/* ========================================================================= */
#define DOBIG4 c ^= *++buf4; \
- c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
- crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
+ c = (u4)(crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
+ crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24])
#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
/* ========================================================================= */
c = REV((u4)crc);
c = ~c;
while (len && ((ptrdiff_t)buf & 3)) {
- c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
+ c = (u4)(crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8));
len--;
}
buf = (const unsigned char FAR *)buf4;
if (len) do {
- c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
+ c = (u4)(crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8));
} while (--len);
c = ~c;
return (unsigned long)(REV(c));