php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Return to Bug #69654
Patch req69654.E_USER_DEBUG.E_DEBUG.patch revision 2015-05-19 08:37 UTC by a dot cobest at gmail dot com

Patch req69654.E_USER_DEBUG.E_DEBUG.patch for Scripting Engine problem Bug #69654

Patch version 2015-05-19 08:37 UTC

Return to Bug #69654 | Download this patch
Patch Revisions:

Developer: a.cobest@gmail.com

diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 7313b32..d9f73ee 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1649,6 +1649,7 @@ ZEND_FUNCTION(trigger_error)
 		case E_USER_WARNING:
 		case E_USER_NOTICE:
 		case E_USER_DEPRECATED:
+		case E_USER_DEBUG:
 			break;
 		default:
 			zend_error(E_WARNING, "Invalid error type specified");
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index f8205fa..a06cd48 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -120,6 +120,7 @@ void zend_register_standard_constants(void)
 	REGISTER_MAIN_LONG_CONSTANT("E_NOTICE", E_NOTICE, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_STRICT", E_STRICT, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_DEPRECATED", E_DEPRECATED, CONST_PERSISTENT | CONST_CS);
+	REGISTER_MAIN_LONG_CONSTANT("E_DEBUG", E_DEBUG, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_CORE_ERROR", E_CORE_ERROR, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_CORE_WARNING", E_CORE_WARNING, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_COMPILE_ERROR", E_COMPILE_ERROR, CONST_PERSISTENT | CONST_CS);
@@ -128,6 +129,7 @@ void zend_register_standard_constants(void)
 	REGISTER_MAIN_LONG_CONSTANT("E_USER_WARNING", E_USER_WARNING, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_USER_NOTICE", E_USER_NOTICE, CONST_PERSISTENT | CONST_CS);
 	REGISTER_MAIN_LONG_CONSTANT("E_USER_DEPRECATED", E_USER_DEPRECATED, CONST_PERSISTENT | CONST_CS);
+	REGISTER_MAIN_LONG_CONSTANT("E_USER_DEBUG", E_USER_DEBUG, CONST_PERSISTENT | CONST_CS);
 
 	REGISTER_MAIN_LONG_CONSTANT("E_ALL", E_ALL, CONST_PERSISTENT | CONST_CS);
 
diff --git a/Zend/zend_errors.h b/Zend/zend_errors.h
index 95be1aa..914d1c6 100644
--- a/Zend/zend_errors.h
+++ b/Zend/zend_errors.h
@@ -37,10 +37,12 @@
 #define E_RECOVERABLE_ERROR	(1<<12L)
 #define E_DEPRECATED		(1<<13L)
 #define E_USER_DEPRECATED	(1<<14L)
+#define E_DEBUG            (1<<15L)
+#define E_USER_DEBUG       (1<<16L)
 
-#define E_EXCEPTION			(1<<15L)
+#define E_EXCEPTION			(1<<17L)
 
-#define E_ALL (E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_RECOVERABLE_ERROR | E_DEPRECATED | E_USER_DEPRECATED | E_STRICT)
+#define E_ALL (E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_RECOVERABLE_ERROR | E_DEPRECATED | E_USER_DEPRECATED | E_STRICT | E_DEBUG | E_USER_DEBUG)
 #define E_CORE (E_CORE_ERROR | E_CORE_WARNING)
 
 #endif /* ZEND_ERRORS_H */
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
index 645d1f2..4b8a0b1 100644
--- a/ext/soap/php_http.c
+++ b/ext/soap/php_http.c
@@ -190,7 +190,7 @@ static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, ph
 	}
 
 	old_error_reporting = EG(error_reporting);
-	EG(error_reporting) &= ~(E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE);
+	EG(error_reporting) &= ~(E_WARNING|E_NOTICE|E_DEBUG|E_USER_WARNING|E_USER_NOTICE|E_USER_DEBUG);
 
 	/* Changed ternary operator to an if/else so that additional comparisons can be done on the ssl_method property */
 	if (use_ssl && !*use_proxy) {
diff --git a/main/main.c b/main/main.c
index ebaaa2a..7037d33 100644
--- a/main/main.c
+++ b/main/main.c
@@ -1028,6 +1028,10 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
 			case E_USER_NOTICE:
 				/* notices are no errors and are not treated as such like E_WARNINGS */
 				break;
+			case E_DEBUG:
+			case E_USER_DEBUG:
+				/* debug is debug, it is not exception */
+				break;
 			default:
 				/* throw an exception if we are in EH_THROW mode
 				 * but DO NOT overwrite a pending exception
@@ -1075,6 +1079,10 @@ static void php_error_cb(int type, const char *error_filename, const uint error_
 			case E_USER_DEPRECATED:
 				error_type_str = "Deprecated";
 				break;
+			case E_DEBUG:
+			case E_USER_DEBUG:
+				error_type_str = "Debug";
+				break;
 			default:
 				error_type_str = "Unknown error";
 				break;
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu May 02 06:01:32 2024 UTC