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;
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.