diff options
author | Marcus Boerger <helly@php.net> | 2003-08-03 22:29:20 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-08-03 22:29:20 +0000 |
commit | 3b4f9d7b58fc2291795488c4dbedaac4d9532b68 (patch) | |
tree | 36294d4d18f62af7d009da61ad2b46066a86669b /ext/spl/spl_engine.c | |
parent | 1f8fd69e781ad7d1b57bca825a7709051a81594f (diff) | |
download | php-git-3b4f9d7b58fc2291795488c4dbedaac4d9532b68.tar.gz |
Latest zend updates
Diffstat (limited to 'ext/spl/spl_engine.c')
-rwxr-xr-x | ext/spl/spl_engine.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/ext/spl/spl_engine.c b/ext/spl/spl_engine.c index 35d233c7d1..17394f854d 100755 --- a/ext/spl/spl_engine.c +++ b/ext/spl/spl_engine.c @@ -176,10 +176,9 @@ spl_is_a spl_implements(zend_class_entry *ce) /* {{{ spl_call_method */ int spl_call_method(zval **object_pp, zend_class_entry *obj_ce, zend_function **fn_proxy, char *function_name, int fname_len, zval **retval, HashTable *symbol_table TSRMLS_DC, int param_count, ...) { - int i, l; + int i; zval *arg; zval *param; - unsigned char *arg_types; zval **original_return_value; HashTable *calling_symbol_table; zend_function_state *original_function_state_ptr; @@ -219,15 +218,11 @@ int spl_call_method(zval **object_pp, zend_class_entry *obj_ce, zend_function ** va_start(args, param_count); if (param_count) { - if ((arg_types = EX(function_state).function->common.arg_types) != NULL) { - l = arg_types[0]; - } else { - l = 0; - } for (i=1; i<=param_count; i++) { arg = va_arg(args, zval*); - if (i<=l && arg_types[i]==BYREF_FORCE && !PZVAL_IS_REF(arg)) { + if (ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i) + && !PZVAL_IS_REF(arg)) { if (arg->refcount > 1) { zval *new_zval; |