cvs: ZendEngine2(PHP_5_3) / zend.c zend.h zend_globals.h
[email protected] ("Felipe Pena")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsfelipe1205013243@cvsserver> |
felipe Sat Mar 8 21:54:03 2008 UTC
Modified files: (Branch: PHP_5_3)
/ZendEngine2 zend.c zend.h zend_globals.h
Log:
User error handlers no longer catch supressed errors (patch by Etienne Kneuss)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend.c?r1=1.308.2.12.2.35.2.9&r2=1.308.2.12.2.35.2.10&diff_format=u
Index: ZendEngine2/zend.c
diff -u ZendEngine2/zend.c:1.308.2.12.2.35.2.9 ZendEngine2/zend.c:1.308.2.12.2.35.2.10
--- ZendEngine2/zend.c:1.308.2.12.2.35.2.9 Wed Mar 5 13:34:12 2008
+++ ZendEngine2/zend.c Sat Mar 8 21:54:03 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.c,v 1.308.2.12.2.35.2.9 2008/03/05 13:34:12 dmitry Exp $ */
+/* $Id: zend.c,v 1.308.2.12.2.35.2.10 2008/03/08 21:54:03 felipe Exp $ */
#include "zend.h"
#include "zend_extensions.h"
@@ -1006,7 +1006,8 @@
/* if we don't have a user defined error handler */
if (!EG(user_error_handler)
- || !(EG(user_error_handler_error_reporting) & type)) {
+ || !(EG(user_error_handler_error_reporting) & type)
+ || EG(error_handling) != EH_NORMAL) {
zend_error_cb(type, error_filename, error_lineno, format, args);
} else switch (type) {
case E_ERROR:
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend.h?r1=1.293.2.11.2.9.2.17&r2=1.293.2.11.2.9.2.18&diff_format=u
Index: ZendEngine2/zend.h
diff -u ZendEngine2/zend.h:1.293.2.11.2.9.2.17 ZendEngine2/zend.h:1.293.2.11.2.9.2.18
--- ZendEngine2/zend.h:1.293.2.11.2.9.2.17 Wed Mar 5 13:34:12 2008
+++ ZendEngine2/zend.h Sat Mar 8 21:54:03 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.h,v 1.293.2.11.2.9.2.17 2008/03/05 13:34:12 dmitry Exp $ */
+/* $Id: zend.h,v 1.293.2.11.2.9.2.18 2008/03/08 21:54:03 felipe Exp $ */
#ifndef ZEND_H
#define ZEND_H
@@ -715,6 +715,12 @@
#include "zend_operators.h"
#include "zend_variables.h"
+typedef enum {
+ EH_NORMAL = 0,
+ EH_SUPPRESS,
+ EH_THROW
+} zend_error_handling_t;
+
#endif /* ZEND_H */
/*
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_globals.h?r1=1.141.2.3.2.7.2.7&r2=1.141.2.3.2.7.2.8&diff_format=u
Index: ZendEngine2/zend_globals.h
diff -u ZendEngine2/zend_globals.h:1.141.2.3.2.7.2.7 ZendEngine2/zend_globals.h:1.141.2.3.2.7.2.8
--- ZendEngine2/zend_globals.h:1.141.2.3.2.7.2.7 Thu Jan 24 09:41:37 2008
+++ ZendEngine2/zend_globals.h Sat Mar 8 21:54:03 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_globals.h,v 1.141.2.3.2.7.2.7 2008/01/24 09:41:37 dmitry Exp $ */
+/* $Id: zend_globals.h,v 1.141.2.3.2.7.2.8 2008/03/08 21:54:03 felipe Exp $ */
#ifndef ZEND_GLOBALS_H
#define ZEND_GLOBALS_H
@@ -218,11 +218,15 @@
int user_error_handler_error_reporting;
zval *user_error_handler;
+ zval *user_error_handler_old;
zval *user_exception_handler;
zend_stack user_error_handlers_error_reporting;
zend_ptr_stack user_error_handlers;
zend_ptr_stack user_exception_handlers;
+ zend_error_handling_t error_handling;
+ zend_class_entry *exception_class;
+
/* timeout support */
int timeout_seconds;