zval tmp_zv;
if (Z_TYPE_P(member) != IS_STRING && Z_TYPE_P(member) != IS_LONG) {
- ZVAL_STR(&tmp_zv, zval_get_string_func(member));
- member = &tmp_zv;
- if (EG(exception)) {
+ zend_string *str = zval_try_get_string_func(member);
+ if (UNEXPECTED(!str)) {
return 0;
}
+ ZVAL_STR(&tmp_zv, str);
+ member = &tmp_zv;
}
- sxe = Z_SXEOBJ_P(object);
+ sxe = php_sxe_fetch_object(object);
GET_NODE(sxe, node);
int test = 0;
if (Z_TYPE_P(member) != IS_STRING && Z_TYPE_P(member) != IS_LONG) {
- ZVAL_STR(&tmp_zv, zval_get_string_func(member));
- member = &tmp_zv;
- if (EG(exception)) {
+ zend_string *str = zval_try_get_string_func(member);
+ if (UNEXPECTED(!str)) {
return;
}
+ ZVAL_STR(&tmp_zv, str);
+ member = &tmp_zv;
}
- sxe = Z_SXEOBJ_P(object);
+ sxe = php_sxe_fetch_object(object);
GET_NODE(sxe, node);