From: Rasmus Lerdorf Date: Sat, 8 Aug 2009 14:48:47 +0000 (+0000) Subject: Doing a strnatcasecmp(chr(128),chr(255)) is completely non-sensical. X-Git-Tag: php-5.4.0alpha1~191^2~2827 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2be0578481bd4abd5809d165b7eaf6707f8f3e59;p=php Doing a strnatcasecmp(chr(128),chr(255)) is completely non-sensical. Logically one might think that chr(128) would collate before chr(255) except this is a case-insensitive comparison and internally we toupper() both args. toupper(chr(128)) is 128. There is no upper-case equivalent of this char. toupper(chr(255)) is 120 so chr(255) collates before chr(128) in this case-insensitive comparison. And these are rather bogus characters to feed to a natsort test anyway. --- diff --git a/ext/standard/tests/strings/strnatcasecmp_variation1.phpt b/ext/standard/tests/strings/strnatcasecmp_variation1.phpt index c211170355..fb0fb79ae5 100644 --- a/ext/standard/tests/strings/strnatcasecmp_variation1.phpt +++ b/ext/standard/tests/strings/strnatcasecmp_variation1.phpt @@ -36,7 +36,6 @@ function str_dump($a, $b) { echo "*** Testing strnatcasecmp() : variation ***\n"; -str_dump(chr(128), chr(255)); str_dump('0', false); str_dump('fooBar', ''); str_dump('', -1); @@ -48,7 +47,6 @@ str_dump($a, $b); ===DONE=== --EXPECT-- *** Testing strnatcasecmp() : variation *** -int(-1) int(1) int(6) int(-2)