aboutsummaryrefslogtreecommitdiff
path: root/crc32.c
diff options
context:
space:
mode:
Diffstat (limited to 'crc32.c')
-rw-r--r--crc32.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/crc32.c b/crc32.c
index a1bdce5..451887b 100644
--- a/crc32.c
+++ b/crc32.c
@@ -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}