summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2006-02-07 00:23:55 +0000
committerPierre Joye <pajoye@php.net>2006-02-07 00:23:55 +0000
commitf3e11a705cbebb52049c60bf73c45d951ea01cc8 (patch)
treebcaebfe578eecda370099a37db34462236c2af19
parenta3b941642c398cb1472820f19bcb720d91d7f4f6 (diff)
downloadphp-git-f3e11a705cbebb52049c60bf73c45d951ea01cc8.tar.gz
- #36306, crc32() function result differs on 32-bit and 64-bit platforms
-rw-r--r--ext/standard/crc32.c2
-rw-r--r--ext/standard/tests/strings/bug36306.phpt8
2 files changed, 9 insertions, 1 deletions
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--
+<?php
+echo crc32("platform independant") . "\n";
+?>
+--EXPECT--
+-858128794