summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_def.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_vm_def.h')
-rw-r--r--Zend/zend_vm_def.h31
1 files changed, 2 insertions, 29 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 546080118a..f933a00cb5 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -1803,36 +1803,9 @@ ZEND_VM_HANDLER(113, ZEND_INIT_STATIC_METHOD_CALL, CONST|VAR, CONST|TMP|VAR|UNUS
}
/* no function found. try a static method in class */
- ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), (opline->extended_value & ZEND_FETCH_CLASS_RT_NS_NAME) ? (opline->extended_value & ~ZEND_FETCH_CLASS_RT_NS_CHECK) : opline->extended_value TSRMLS_CC);
-
+ ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant), Z_UNILEN(opline->op1.u.constant), opline->extended_value TSRMLS_CC);
if (!ce) {
- if ((opline->extended_value & ZEND_FETCH_CLASS_RT_NS_NAME) &&
- op_data->op2.op_type == IS_CONST) {
-
- if (zend_u_hash_find(EG(function_table), Z_TYPE(op_data->op2.u.constant), Z_UNIVAL(op_data->op2.u.constant), Z_UNILEN(op_data->op2.u.constant) + 1, (void **) &EX(fbc))==SUCCESS) {
- EX(object) = NULL;
- ZEND_VM_NEXT_OPCODE();
- }
-
- if (opline->extended_value & ZEND_FETCH_CLASS_RT_NS_CHECK) {
- zstr ce_name;
- unsigned ce_name_len = Z_UNILEN(op_data->op1.u.constant) - (Z_UNILEN(op_data->op2.u.constant) + 2);
- if (UG(unicode)) {
- ce_name.u = eustrndup(Z_USTRVAL(op_data->op1.u.constant), ce_name_len);
- } else {
- ce_name.s = estrndup(Z_STRVAL(op_data->op1.u.constant), ce_name_len);
- }
- ce = zend_u_fetch_class(Z_TYPE(opline->op1.u.constant), ce_name, ce_name_len, opline->extended_value & ~ZEND_FETCH_CLASS_RT_NS_CHECK TSRMLS_CC);
- efree(ce_name.v);
- if (!ce) {
- zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
- }
- } else {
- zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
- }
- } else {
- zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
- }
+ zend_error(E_ERROR, "Class '%R' not found", Z_TYPE(opline->op1.u.constant), Z_UNIVAL(opline->op1.u.constant));
}
} else {
ce = EX_T(opline->op1.u.var).class_entry;