diff options
Diffstat (limited to 'Zend/zend_API.h')
| -rw-r--r-- | Zend/zend_API.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 78640b7714..d88fa5a856 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -1127,7 +1127,7 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int num, char *e int _min_num_args = (min_num_args); \ int _max_num_args = (max_num_args); \ int _num_args = EX_NUM_ARGS(); \ - int _i; \ + int _i = 0; \ zval *_real_arg, *_arg = NULL; \ zend_expected_type _expected_type = Z_EXPECTED_LONG; \ char *_error = NULL; \ @@ -1152,7 +1152,6 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int num, char *e _error_code = ZPP_ERROR_FAILURE; \ break; \ } \ - _i = 0; \ _real_arg = ZEND_CALL_ARG(execute_data, 0); #define ZEND_PARSE_PARAMETERS_START(min_num_args, max_num_args) \ @@ -1168,7 +1167,7 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int num, char *e #define ZEND_PARSE_PARAMETERS_END_EX(failure) \ } while (0); \ if (UNEXPECTED(_error_code != ZPP_ERROR_OK)) { \ - if (!(_flags & ZEND_PARSE_PARAMS_QUIET)) { \ + if (!(_flags & ZEND_PARSE_PARAMS_QUIET) && !EG(exception)) { \ if (_error_code == ZPP_ERROR_WRONG_CALLBACK) { \ zend_wrong_callback_error(_i, _error); \ } else if (_error_code == ZPP_ERROR_WRONG_CLASS) { \ |
