mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Merge branch 'PHP-8.4'
* PHP-8.4:
Revert 746b1cf4
"Access long value directly for call to count() in simplexml"
This commit is contained in:
commit
8120c7988a
2 changed files with 23 additions and 2 deletions
|
@ -1928,8 +1928,9 @@ static zend_result sxe_count_elements(zend_object *object, zend_long *count) /*
|
|||
zval rv;
|
||||
zend_call_method_with_0_params(object, intern->zo.ce, &intern->fptr_count, "count", &rv);
|
||||
if (!Z_ISUNDEF(rv)) {
|
||||
ZEND_ASSERT(Z_TYPE(rv) == IS_LONG);
|
||||
*count = Z_LVAL(rv);
|
||||
/* TODO: change this to Z_LVAL_P() once the tentative type on count() is gone. */
|
||||
*count = zval_get_long(&rv);
|
||||
zval_ptr_dtor(&rv);
|
||||
return SUCCESS;
|
||||
}
|
||||
return FAILURE;
|
||||
|
|
20
ext/simplexml/tests/count_return_type_will_change.phpt
Normal file
20
ext/simplexml/tests/count_return_type_will_change.phpt
Normal file
|
@ -0,0 +1,20 @@
|
|||
--TEST--
|
||||
SimpleXMLElement::count() interaction with ReturnTypeWillChange
|
||||
--EXTENSIONS--
|
||||
simplexml
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class CustomClass extends SimpleXMLElement {
|
||||
#[\ReturnTypeWillChange]
|
||||
public function count(): string {
|
||||
return "3";
|
||||
}
|
||||
}
|
||||
|
||||
$sxe = simplexml_load_string("<root/>", CustomClass::class);
|
||||
var_dump(count($sxe));
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
int(3)
|
Loading…
Add table
Add a link
Reference in a new issue