diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-11-28 10:28:49 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-11-28 10:28:49 +0300 |
| commit | 11384ba77b9ee58beff7a08d230ed277153bb8f4 (patch) | |
| tree | 2506f31e139cbcd62446926067ff7030a721f51b /Zend/zend_builtin_functions.c | |
| parent | 9a36cb1a07c247766278a888612ecbac812bece9 (diff) | |
| download | php-git-11384ba77b9ee58beff7a08d230ed277153bb8f4.tar.gz | |
Pack EX(num_args) into EX(This).u2.num_args
Diffstat (limited to 'Zend/zend_builtin_functions.c')
| -rw-r--r-- | Zend/zend_builtin_functions.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index ecb8f4e0d1..b21ff5f771 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -403,7 +403,7 @@ ZEND_FUNCTION(func_num_args) zend_execute_data *ex = EX(prev_execute_data); if (VM_FRAME_KIND(ex->frame_info) == VM_FRAME_NESTED_FUNCTION || VM_FRAME_KIND(ex->frame_info) == VM_FRAME_TOP_FUNCTION) { - RETURN_LONG(ex->num_args); + RETURN_LONG(ZEND_CALL_NUM_ARGS(ex)); } else { zend_error(E_WARNING, "func_num_args(): Called from the global scope - no function context"); RETURN_LONG(-1); @@ -435,7 +435,7 @@ ZEND_FUNCTION(func_get_arg) RETURN_FALSE; } - arg_count = ex->num_args; + arg_count = ZEND_CALL_NUM_ARGS(ex); if (requested_offset >= arg_count) { zend_error(E_WARNING, "func_get_arg(): Argument " ZEND_LONG_FMT " not passed to function", requested_offset); @@ -446,7 +446,7 @@ ZEND_FUNCTION(func_get_arg) if (ex->func->op_array.fn_flags & ZEND_ACC_VARIADIC) { first_extra_arg--; } - if (requested_offset >= first_extra_arg && (ex->num_args > first_extra_arg)) { + if (requested_offset >= first_extra_arg && (ZEND_CALL_NUM_ARGS(ex) > first_extra_arg)) { arg = EX_VAR_NUM_2(ex, ex->func->op_array.last_var + ex->func->op_array.T) + (requested_offset - first_extra_arg); } else { arg = ZEND_CALL_ARG(ex, requested_offset + 1); @@ -469,7 +469,7 @@ ZEND_FUNCTION(func_get_args) RETURN_FALSE; } - arg_count = ex->num_args; + arg_count = ZEND_CALL_NUM_ARGS(ex); array_init_size(return_value, arg_count); if (arg_count) { @@ -483,7 +483,7 @@ ZEND_FUNCTION(func_get_args) i = 0; q = Z_ARRVAL_P(return_value)->arData; p = ZEND_CALL_ARG(ex, 1); - if (ex->num_args > first_extra_arg) { + if (ZEND_CALL_NUM_ARGS(ex) > first_extra_arg) { while (i < first_extra_arg) { q->h = i; q->key = NULL; @@ -2050,7 +2050,7 @@ ZEND_FUNCTION(get_defined_constants) static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array TSRMLS_DC) /* {{{ */ { - uint32_t num_args = call->num_args; + uint32_t num_args = ZEND_CALL_NUM_ARGS(call); array_init_size(arg_array, num_args); if (num_args) { @@ -2063,7 +2063,7 @@ static void debug_backtrace_get_args(zend_execute_data *call, zval *arg_array TS if (call->func->op_array.fn_flags & ZEND_ACC_VARIADIC) { first_extra_arg--; } - if (call->num_args > first_extra_arg) { + if (ZEND_CALL_NUM_ARGS(call) > first_extra_arg) { while (i < first_extra_arg) { if (Z_REFCOUNTED_P(p)) Z_ADDREF_P(p); zend_hash_next_index_insert_new(Z_ARRVAL_P(arg_array), p); |
