rasmus Thu Apr 9 16:08:34 2009 UTC Modified files: /php-src/ext/standard strnatcmp.c /php-src/ext/standard/tests/array bug44929.phpt Log: Don't strip leading zeros on floating point numbers and fix the test case http://cvs.php.net/viewvc.cgi/php-src/ext/standard/strnatcmp.c?r1=1.14&r2=1.15&diff_format=u Index: php-src/ext/standard/strnatcmp.c diff -u php-src/ext/standard/strnatcmp.c:1.14 php-src/ext/standard/strnatcmp.c:1.15 --- php-src/ext/standard/strnatcmp.c:1.14 Wed Apr 8 20:12:27 2009 +++ php-src/ext/standard/strnatcmp.c Thu Apr 9 16:08:34 2009 @@ -38,7 +38,7 @@ #if 0 static char const *version UNUSED = - "$Id: strnatcmp.c,v 1.14 2009/04/08 20:12:27 andrei Exp $"; + "$Id: strnatcmp.c,v 1.15 2009/04/09 16:08:34 rasmus Exp $"; #endif /* {{{ compare_right */ @@ -112,10 +112,10 @@ ca = a[ai]; cb = b[bi]; /* skip over leading spaces or zeros */ - while (isspace((int)(unsigned char)ca) || (ca == '0' && ai+1 < a_len)) + while (isspace((int)(unsigned char)ca) || (ca == '0' && (ai+1 < a_len)) && (a[ai+1] != '.')) ca = a[++ai]; - while (isspace((int)(unsigned char)cb) || (cb == '0' && bi+1 < b_len)) + while (isspace((int)(unsigned char)cb) || (cb == '0' && bi+1 < b_len) && (b[bi+1] != '.')) cb = b[++bi]; /* process run of digits */ http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug44929.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/bug44929.phpt diff -u php-src/ext/standard/tests/array/bug44929.phpt:1.2 php-src/ext/standard/tests/array/bug44929.phpt:1.3 --- php-src/ext/standard/tests/array/bug44929.phpt:1.2 Wed Apr 8 18:18:49 2009 +++ php-src/ext/standard/tests/array/bug44929.phpt Thu Apr 9 16:08:34 2009 @@ -10,12 +10,12 @@ array(10) { [6]=> string(4) "-123" - [7]=> - string(5) "0.002" [8]=> string(2) "00" [9]=> string(1) "0" + [7]=> + string(5) "0.002" [0]=> string(3) "001" [4]=>
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php