summaryrefslogtreecommitdiff
path: root/ext/spl/spl_foreach.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2003-05-02 15:39:12 +0000
committerMarcus Boerger <helly@php.net>2003-05-02 15:39:12 +0000
commit4701aaaa87c683867e99bfa72f4bcbac9c0a46ae (patch)
tree600e50aa80ce7cbfd754cee5ad060c263d0aef41 /ext/spl/spl_foreach.c
parentd6d17e510d01ba0dd1a284339fa85e0493963000 (diff)
downloadphp-git-4701aaaa87c683867e99bfa72f4bcbac9c0a46ae.tar.gz
Interfaces only implement interfaces
Diffstat (limited to 'ext/spl/spl_foreach.c')
-rwxr-xr-xext/spl/spl_foreach.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/spl/spl_foreach.c b/ext/spl/spl_foreach.c
index 850b8bb3dd..cbe7dfd1e2 100755
--- a/ext/spl/spl_foreach.c
+++ b/ext/spl/spl_foreach.c
@@ -38,7 +38,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_RESET)
if (EX(opline)->extended_value) {
obj = spl_get_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);
- if (spl_is_instance_of(obj, spl_ce_iterator TSRMLS_CC)) {
+ if (spl_implements(obj, spl_ce_iterator TSRMLS_CC)) {
spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);
MAKE_STD_ZVAL(retval);
spl_begin_method_call_this(obj, "new_iterator", retval TSRMLS_CC);
@@ -49,7 +49,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_RESET)
PZVAL_LOCK(retval);
NEXT_OPCODE();
- } else if (spl_is_instance_of(obj, spl_ce_forward TSRMLS_CC)) {
+ } else if (spl_implements(obj, spl_ce_forward TSRMLS_CC)) {
spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);
EX_T(EX(opline)->result.u.var).var.ptr = *obj;
@@ -72,7 +72,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH)
zval **obj = spl_get_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);
zval more, tmp, *value, *key, *result;
- if (spl_is_instance_of(obj, spl_ce_forward TSRMLS_CC)) {
+ if (spl_implements(obj, spl_ce_forward TSRMLS_CC)) {
zend_uint index = EX(opline)->op2.u.EA.type++;
spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);
@@ -80,7 +80,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH)
if (index) {
spl_begin_method_call_this(obj, "next", &more TSRMLS_CC);
- } else if (spl_is_instance_of(obj, spl_ce_sequence TSRMLS_CC)) {
+ } else if (spl_implements(obj, spl_ce_sequence TSRMLS_CC)) {
spl_begin_method_call_this(obj, "rewind", &more TSRMLS_CC);
}
@@ -94,7 +94,7 @@ ZEND_EXECUTE_HOOK_FUNCTION(ZEND_FE_FETCH)
zend_hash_index_update(result->value.ht, 0, &value, sizeof(zval *), NULL);
- if (spl_is_instance_of(obj, spl_ce_assoc TSRMLS_CC)) {
+ if (spl_implements(obj, spl_ce_assoc TSRMLS_CC)) {
ALLOC_ZVAL(key);
spl_begin_method_call_this(obj, "key", key TSRMLS_CC);
} else {