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

Reply via email to