mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Cheaper checks for exceptions thrown from __toString()
This commit is contained in:
parent
90a2e4ba66
commit
457392fa64
32 changed files with 216 additions and 189 deletions
|
@ -757,14 +757,17 @@ PHP_FUNCTION(xsl_xsltprocessor_set_parameter)
|
|||
intern = Z_XSL_P(id);
|
||||
ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(array_value), string_key, entry) {
|
||||
zval tmp;
|
||||
zend_string *str;
|
||||
|
||||
if (string_key == NULL) {
|
||||
php_error_docref(NULL, E_WARNING, "Invalid parameter array");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
ZVAL_STR(&tmp, zval_get_string(entry));
|
||||
if (EG(exception)) {
|
||||
str = zval_try_get_string(entry);
|
||||
if (UNEXPECTED(!str)) {
|
||||
return;
|
||||
}
|
||||
ZVAL_STR(&tmp, str);
|
||||
zend_hash_update(intern->parameter, string_key, &tmp);
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
RETURN_TRUE;
|
||||
|
@ -847,8 +850,8 @@ PHP_FUNCTION(xsl_xsltprocessor_register_php_functions)
|
|||
intern = Z_XSL_P(id);
|
||||
|
||||
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(array_value), entry) {
|
||||
zend_string *str = zval_get_string(entry);
|
||||
if (EG(exception)) {
|
||||
zend_string *str = zval_try_get_string(entry);
|
||||
if (UNEXPECTED(!str)) {
|
||||
return;
|
||||
}
|
||||
ZVAL_LONG(&new_string, 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue