diff options
author | Pierre Joye <pajoye@php.net> | 2006-02-07 00:23:55 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2006-02-07 00:23:55 +0000 |
commit | f3e11a705cbebb52049c60bf73c45d951ea01cc8 (patch) | |
tree | bcaebfe578eecda370099a37db34462236c2af19 | |
parent | a3b941642c398cb1472820f19bcb720d91d7f4f6 (diff) | |
download | php-git-f3e11a705cbebb52049c60bf73c45d951ea01cc8.tar.gz |
- #36306, crc32() function result differs on 32-bit and 64-bit platforms
-rw-r--r-- | ext/standard/crc32.c | 2 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug36306.phpt | 8 |
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 |