> Please review the patch https://gist.github.com/dstogov/47a39aff37f0a6441ea0
Instead of duplicating logic in two places I'd rather grab the
relevant data first, then do the logic once:
zend_string *class_name;
if (fe->type == ZEND_INTERNAL_FUNCTION) {
class_name = zend_string_init(
((zend_internal_arg_info*)fe_arg_info)->class_name,
strlen(((zend_internal_arg_info*)fe_arg_info)->class_name), 0
);
} else {
class_name = zend_string_dup(fe_arg_info->class_name);
}
if (!zend_string_equals_literal_ci(class_name, "parent") &&
proto->common.scope) {
fe_class_name = zend_string_copy(proto->common.scope->name);
} else if (!zend_string_equals_literal_ci(class_name, "self") &&
fe->common.scope) {
fe_class_name = zend_string_copy(fe->common.scope->name);
} else {
fe_class_name = class_name;
}
zend_string_release(class_name);
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php