summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2002-08-08 16:32:34 +0000
committerAndi Gutmans <andi@php.net>2002-08-08 16:32:34 +0000
commit52406cb37c3b62a93cff0d15ae7d7a85cd7fd419 (patch)
treea0f531428218e3e49d72736711dfa3ffd30be9f1 /Zend/zend_execute.c
parent7904787f950ea7b95f53d64af341c0a88393b748 (diff)
downloadphp-git-52406cb37c3b62a93cff0d15ae7d7a85cd7fd419.tar.gz
- Make new 'is' operator work with classes only and return false when
- the object isn't of the said class or the value isn't an object.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 507435d855..d397ccf387 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -3123,16 +3123,10 @@ send_by_ref:
}
}
NEXT_OPCODE();
- case ZEND_IS_TYPE: {
+ case ZEND_IS_CLASS: {
zval *expr = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
- if (EX(opline)->extended_value) {
- is_type_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var, expr,
- EX(Ts)[EX(opline)->op2.u.var].EA.class_entry, 0 TSRMLS_CC);
- } else {
- is_type_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var, expr,
- NULL, EX(opline)->op2.u.constant.value.lval TSRMLS_CC);
- }
-
+ is_class_function(&EX(Ts)[EX(opline)->result.u.var].tmp_var, expr,
+ EX(Ts)[EX(opline)->op2.u.var].EA.class_entry TSRMLS_CC);
FREE_OP(EX(Ts), &EX(opline)->op1, EG(free_op1));
}
NEXT_OPCODE();