From: Gustavo André dos Santos Lopes Date: Tue, 21 Dec 2010 19:52:17 +0000 (+0000) Subject: - Revert of revision 306542, turns out the semantics of compare() are X-Git-Tag: php-5.3.6RC1~195 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8f44d2ca36acd9bcd465ab56022c2ce2a8ab616e;p=php - Revert of revision 306542, turns out the semantics of compare() are different in SplMinHeap and SplMaxHeap. --- diff --git a/NEWS b/NEWS index 20b20f9956..849d9ddb80 100644 --- a/NEWS +++ b/NEWS @@ -70,8 +70,6 @@ - SPL extension: . Fixed bug #53515 (property_exists incorrect on ArrayObject null and 0 values). (Felipe) - . Fixed bug #53588 (SplMinHeap bad sorting with custom compare function). - (Gustavo) - SQLite extension: . Fixed memory leaked introduced by the NULL poisoning patch (Mateusz Kocielski, Pierre) diff --git a/ext/spl/spl_heap.c b/ext/spl/spl_heap.c index 52f2008cdb..f729478388 100644 --- a/ext/spl/spl_heap.c +++ b/ext/spl/spl_heap.c @@ -176,7 +176,7 @@ static int spl_ptr_heap_zval_min_cmp(spl_ptr_heap_element a, spl_ptr_heap_elemen spl_heap_object *heap_object = (spl_heap_object*)zend_object_store_get_object((zval *)object TSRMLS_CC); if (heap_object->fptr_cmp) { long lval = 0; - if (spl_ptr_heap_cmp_cb_helper((zval *)object, heap_object, (zval *)b, (zval *)a, &lval TSRMLS_CC) == FAILURE) { + if (spl_ptr_heap_cmp_cb_helper((zval *)object, heap_object, (zval *)a, (zval *)b, &lval TSRMLS_CC) == FAILURE) { /* exception or call failure */ return 0; } diff --git a/ext/spl/tests/bug53588.phpt b/ext/spl/tests/bug53588.phpt index 1546908c35..e69de29bb2 100644 --- a/ext/spl/tests/bug53588.phpt +++ b/ext/spl/tests/bug53588.phpt @@ -1,23 +0,0 @@ ---TEST-- -Bug #53588 (SplMinHeap bad sorting with custom compare function) ---FILE-- -insert( 8 ); -$obj->insert( 0 ); -$obj->insert( 4 ); - -foreach( $obj as $number ) { - echo $number, "\n"; -} ---EXPECT-- -0 -4 -8 -