diff options
Diffstat (limited to 'crc32.c')
-rw-r--r-- | crc32.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len) | |||
630 | #endif /* DYNAMIC_CRC_TABLE */ | 630 | #endif /* DYNAMIC_CRC_TABLE */ |
631 | 631 | ||
632 | /* Pre-condition the CRC */ | 632 | /* Pre-condition the CRC */ |
633 | crc ^= 0xffffffff; | 633 | crc = (~crc) & 0xffffffff; |
634 | 634 | ||
635 | /* Compute the CRC up to a word boundary. */ | 635 | /* Compute the CRC up to a word boundary. */ |
636 | while (len && ((z_size_t)buf & 7) != 0) { | 636 | while (len && ((z_size_t)buf & 7) != 0) { |
@@ -749,7 +749,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len) | |||
749 | #endif /* DYNAMIC_CRC_TABLE */ | 749 | #endif /* DYNAMIC_CRC_TABLE */ |
750 | 750 | ||
751 | /* Pre-condition the CRC */ | 751 | /* Pre-condition the CRC */ |
752 | crc ^= 0xffffffff; | 752 | crc = (~crc) & 0xffffffff; |
753 | 753 | ||
754 | #ifdef W | 754 | #ifdef W |
755 | 755 | ||
@@ -1077,7 +1077,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2) | |||
1077 | #ifdef DYNAMIC_CRC_TABLE | 1077 | #ifdef DYNAMIC_CRC_TABLE |
1078 | once(&made, make_crc_table); | 1078 | once(&made, make_crc_table); |
1079 | #endif /* DYNAMIC_CRC_TABLE */ | 1079 | #endif /* DYNAMIC_CRC_TABLE */ |
1080 | return multmodp(x2nmodp(len2, 3), crc1) ^ crc2; | 1080 | return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff); |
1081 | } | 1081 | } |
1082 | 1082 | ||
1083 | /* ========================================================================= */ | 1083 | /* ========================================================================= */ |
@@ -1112,5 +1112,5 @@ uLong crc32_combine_op(crc1, crc2, op) | |||
1112 | uLong crc2; | 1112 | uLong crc2; |
1113 | uLong op; | 1113 | uLong op; |
1114 | { | 1114 | { |
1115 | return multmodp(op, crc1) ^ crc2; | 1115 | return multmodp(op, crc1) ^ (crc2 & 0xffffffff); |
1116 | } | 1116 | } |