]> granicus.if.org Git - php/commitdiff
Use zend_sort in array_multisort (tests change is expected)
authorXinchen Hui <laruence@gmail.com>
Thu, 23 Jun 2016 12:58:45 +0000 (20:58 +0800)
committerXinchen Hui <laruence@gmail.com>
Thu, 23 Jun 2016 12:58:45 +0000 (20:58 +0800)
ext/standard/array.c
ext/standard/tests/array/array_multisort_variation7.phpt
ext/standard/tests/array/array_multisort_variation8.phpt
ext/standard/tests/array/array_multisort_variation9.phpt

index 4dba1a15f34ef5b47bc6c4c4a2eea12f0611f46c..ddfce76926415e2edb03a08652f7ae2b5cffbae6 100644 (file)
@@ -4989,7 +4989,7 @@ PHP_FUNCTION(array_multisort)
        }
 
        /* Do the actual sort magic - bada-bim, bada-boom. */
-       zend_qsort(indirect, array_size, sizeof(Bucket *), php_multisort_compare, (swap_func_t)array_bucket_p_sawp);
+       zend_sort(indirect, array_size, sizeof(Bucket *), php_multisort_compare, (swap_func_t)array_bucket_p_sawp);
 
        /* Restructure the arrays based on sorted indirect - this is mostly taken from zend_hash_sort() function. */
        for (i = 0; i < num_arrays; i++) {
index 4e9feb512691b73b12626669297fbc5ec0780261..10980be592604511392300747a104d821f2222f8 100644 (file)
@@ -41,28 +41,28 @@ var_dump($inputs);
 *** Testing array_multisort() : usage variation  - test sort order of all types***
 bool(true)
 array(10) {
-  ["empty string DQ"]=>
-  string(0) ""
+  ["float -10.5"]=>
+  float(-10.5)
   ["int 0"]=>
   int(0)
+  [0]=>
+  array(0) {
+  }
   ["uppercase NULL"]=>
   NULL
+  ["empty string DQ"]=>
+  string(0) ""
   ["undefined var"]=>
   NULL
-  [0]=>
-  array(0) {
-  }
+  ["lowercase true"]=>
+  bool(true)
   ["instance of classWithToString"]=>
   object(classWithToString)#1 (0) {
   }
+  ["string DQ"]=>
+  string(6) "string"
   ["instance of classWithoutToString"]=>
   object(classWithoutToString)#2 (0) {
   }
-  ["lowercase true"]=>
-  bool(true)
-  ["float -10.5"]=>
-  float(-10.5)
-  ["string DQ"]=>
-  string(6) "string"
 }
 ===DONE===
index 1995ee8d2bb79d9608d51187e017593601e7243a..6b50e0ebbb2547ebdcdb6c3dae68bb0a84b924af 100644 (file)
@@ -47,15 +47,15 @@ var_dump($inputs);
 *** Testing array_multisort() : usage variation  - test sort order of all types***
 bool(true)
 array(10) {
-  ["empty string DQ"]=>
-  string(0) ""
   ["uppercase NULL"]=>
   NULL
-  ["undefined var"]=>
-  NULL
+  ["empty string DQ"]=>
+  string(0) ""
   ["instance of classWithoutToString"]=>
   object(classWithoutToString)#2 (0) {
   }
+  ["undefined var"]=>
+  NULL
   ["float -10.5"]=>
   float(-10.5)
   ["int 0"]=>
index eebd19fda0f539f90177d0dfaa92689ff32c9c61..cc4b8d147b0d2f45c418be1c8210f65eb2c7c8d1 100644 (file)
@@ -42,9 +42,7 @@ var_dump($inputs);
 
 Notice: Object of class classWithToString could not be converted to float in %sarray_multisort_variation9.php on line %d
 
-Notice: Object of class classWithoutToString could not be converted to float in %sarray_multisort_variation9.php on line %d
-
-Notice: Object of class classWithoutToString could not be converted to float in %sarray_multisort_variation9.php on line %d
+Notice: Object of class classWithToString could not be converted to float in %sarray_multisort_variation9.php on line %d
 
 Notice: Object of class classWithoutToString could not be converted to float in %sarray_multisort_variation9.php on line %d
 
@@ -53,26 +51,26 @@ bool(true)
 array(10) {
   ["float -10.5"]=>
   float(-10.5)
-  ["string DQ"]=>
-  string(6) "string"
-  ["undefined var"]=>
-  NULL
-  ["empty string DQ"]=>
-  string(0) ""
-  ["uppercase NULL"]=>
-  NULL
   ["int 0"]=>
   int(0)
   [0]=>
   array(0) {
   }
-  ["instance of classWithoutToString"]=>
-  object(classWithoutToString)#2 (0) {
-  }
+  ["uppercase NULL"]=>
+  NULL
+  ["empty string DQ"]=>
+  string(0) ""
+  ["string DQ"]=>
+  string(6) "string"
+  ["undefined var"]=>
+  NULL
   ["lowercase true"]=>
   bool(true)
   ["instance of classWithToString"]=>
   object(classWithToString)#1 (0) {
   }
+  ["instance of classWithoutToString"]=>
+  object(classWithoutToString)#2 (0) {
+  }
 }
-===DONE===
\ No newline at end of file
+===DONE===