From 303d73ecd26db0f88dfd1630ae55557ca47caece Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 26 Nov 2014 22:44:58 +0300 Subject: Reimplemented silence operator (@) handling on exceptions. Now each silence region is stored in op_array->brk_cont_array. On exception ZEND_HANDLE_EXCEPTION handler traverse this array and restore original EG(error_reporting) if exception occured inside a "silence" region. --- Zend/zend_execute.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'Zend/zend_execute.c') diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 6c8ebca707..fc8cd57ced 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1486,7 +1486,6 @@ static zend_always_inline void i_init_func_execute_data(zend_execute_data *execu EX(call) = NULL; EX(return_value) = return_value; EX(delayed_exception) = NULL; - EX(silence_op_num) = -1; /* Handle arguments */ first_extra_arg = op_array->num_args; @@ -1553,7 +1552,6 @@ static zend_always_inline void i_init_code_execute_data(zend_execute_data *execu EX(return_value) = return_value; EX(scope) = EG(scope); EX(delayed_exception) = NULL; - EX(silence_op_num) = -1; zend_attach_symbol_table(execute_data); @@ -1580,7 +1578,6 @@ static zend_always_inline void i_init_execute_data(zend_execute_data *execute_da EX(return_value) = return_value; EX(scope) = EG(scope); EX(delayed_exception) = NULL; - EX(silence_op_num) = -1; if (UNEXPECTED(EX(symbol_table) != NULL)) { zend_attach_symbol_table(execute_data); -- cgit v1.2.1