cvs: ZendEngine2 / zend.c zend.h zend_globals.h
[email protected] ("Felipe Pena")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsfelipe1205013801@cvsserver> |
felipe Sat Mar 8 22:03:21 2008 UTC
Modified files:
/ZendEngine2 zend.c zend.h zend_globals.h
Log:
MFB: User error handlers no longer catch supressed errors (patch by Etienne Kneuss)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend.c?r1=1.408&r2=1.409&diff_format=u
Index: ZendEngine2/zend.c
diff -u ZendEngine2/zend.c:1.408 ZendEngine2/zend.c:1.409
--- ZendEngine2/zend.c:1.408 Wed Mar 5 13:35:01 2008
+++ ZendEngine2/zend.c Sat Mar 8 22:03:21 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.c,v 1.408 2008/03/05 13:35:01 dmitry Exp $ */
+/* $Id: zend.c,v 1.409 2008/03/08 22:03:21 felipe Exp $ */
#include "zend.h"
#include "zend_extensions.h"
@@ -1513,7 +1513,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.350&r2=1.351&diff_format=u
Index: ZendEngine2/zend.h
diff -u ZendEngine2/zend.h:1.350 ZendEngine2/zend.h:1.351
--- ZendEngine2/zend.h:1.350 Wed Mar 5 13:35:01 2008
+++ ZendEngine2/zend.h Sat Mar 8 22:03:21 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.h,v 1.350 2008/03/05 13:35:01 dmitry Exp $ */
+/* $Id: zend.h,v 1.351 2008/03/08 22:03:21 felipe Exp $ */
#ifndef ZEND_H
#define ZEND_H
@@ -768,6 +768,12 @@
#include "zend_operators.h"
#include "zend_variables.h"
+typedef enum {
+ EH_NORMAL = 0,
+ EH_SUPPRESS,
+ EH_THROW
+} zend_error_handling_t;
+
#define ZEND_U_EQUAL(type, ustr, ulen, str, slen) \
((type == IS_STRING)? \
(!memcmp((ustr).s,(str),(slen))): \
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_globals.h?r1=1.174&r2=1.175&diff_format=u
Index: ZendEngine2/zend_globals.h
diff -u ZendEngine2/zend_globals.h:1.174 ZendEngine2/zend_globals.h:1.175
--- ZendEngine2/zend_globals.h:1.174 Thu Jan 24 09:41:48 2008
+++ ZendEngine2/zend_globals.h Sat Mar 8 22:03:21 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_globals.h,v 1.174 2008/01/24 09:41:48 dmitry Exp $ */
+/* $Id: zend_globals.h,v 1.175 2008/03/08 22:03:21 felipe Exp $ */
#ifndef ZEND_GLOBALS_H
#define ZEND_GLOBALS_H
@@ -212,11 +212,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;