diff options
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r-- | ext/standard/basic_functions.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 6760177a00..c76cba5e0b 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -685,6 +685,9 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_error_get_last, 0, 0, 0) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_error_clear_last, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_call_user_func, 0, 0, 1) ZEND_ARG_INFO(0, function_name) ZEND_ARG_VARIADIC_INFO(0, parameters) @@ -2947,6 +2950,7 @@ const zend_function_entry basic_functions[] = { /* {{{ */ PHP_FE(error_log, arginfo_error_log) PHP_FE(error_get_last, arginfo_error_get_last) + PHP_FE(error_clear_last, arginfo_error_clear_last) PHP_FE(call_user_func, arginfo_call_user_func) PHP_FE(call_user_func_array, arginfo_call_user_func_array) PHP_FE(forward_static_call, arginfo_forward_static_call) @@ -4696,7 +4700,7 @@ PHPAPI int _php_error_log_ex(int opt_err, char *message, size_t message_len, cha Get the last occurred error as associative array. Returns NULL if there hasn't been an error yet. */ PHP_FUNCTION(error_get_last) { - if (zend_parse_parameters(ZEND_NUM_ARGS(), "") == FAILURE) { + if (zend_parse_parameters_none() == FAILURE) { return; } @@ -4710,6 +4714,29 @@ PHP_FUNCTION(error_get_last) } /* }}} */ +/* {{{ proto void error_clear_last(void) + Clear the last occurred error. */ +PHP_FUNCTION(error_clear_last) +{ + if (zend_parse_parameters_none() == FAILURE) { + return; + } + + if (PG(last_error_message)) { + PG(last_error_type) = 0; + PG(last_error_lineno) = 0; + + free(PG(last_error_message)); + PG(last_error_message) = NULL; + + if (PG(last_error_file)) { + free(PG(last_error_file)); + PG(last_error_file) = NULL; + } + } +} +/* }}} */ + /* {{{ proto mixed call_user_func(mixed function_name [, mixed parmeter] [, mixed ...]) Call a user function which is the first parameter Warning: This function is special-cased by zend_compile.c and so is usually bypassed */ |