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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.