From 6a158cf60dfe8d3b66fdd18eece5897eb2c838db Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Tue, 7 Feb 2006 00:24:56 +0000 Subject: [PATCH] - MFB: #36306, crc32() result differs on 32-bit and 64-bit platforms --- ext/standard/crc32.c | 2 +- ext/standard/tests/strings/bug36306.phpt | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/strings/bug36306.phpt diff --git a/ext/standard/crc32.c b/ext/standard/crc32.c index ffac9ee144..02bc54e623 100644 --- a/ext/standard/crc32.c +++ b/ext/standard/crc32.c @@ -38,7 +38,7 @@ PHP_NAMED_FUNCTION(php_if_crc32) for (len += nr; nr--; ++p) { CRC32(crc, *p); } - RETVAL_LONG(~crc); + RETVAL_LONG(~ (long) crc); } /* }}} */ diff --git a/ext/standard/tests/strings/bug36306.phpt b/ext/standard/tests/strings/bug36306.phpt new file mode 100644 index 0000000000..a4a02dd658 --- /dev/null +++ b/ext/standard/tests/strings/bug36306.phpt @@ -0,0 +1,8 @@ +--TEST-- +Bug #36306 crc32() 64bit +--FILE-- + +--EXPECT-- +-858128794 -- 2.40.0