summaryrefslogtreecommitdiff
path: root/ext/standard/basic_functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r--ext/standard/basic_functions.c29
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 */