ID:               16330
 User updated by:  dshadow at zort dot net
 Reported By:      dshadow at zort dot net
 Status:           Open
 Bug Type:         Feature/Change Request
 Operating System: linux
 PHP Version:      4.1.2
 New Comment:

Because having E_NONE is consistent. Then any possible 
value you might want to pass to error_reporting() has a 
symbolic constant. Sure, "0" conceptually means "none", 
but there's no reason that the value 0 MUST mean "no 
errors". It just happens to be true in this case.

I'll agree that this may not be a compelling reason to 
include E_NONE, but, I can't think of any compelling 
reason why _NOT_ to include it, especially considering 
that this is a two line patch that is not invasive at 
all.

Also, the documentation references E_NONE, so at 
least one other person feels it to be a reasonable 
constant, so much that they didn't check to make sure 
that the constant actually existed:
http://us3.php.net/security.errors


Previous Comments:
------------------------------------------------------------------------

[2004-04-26 09:13:57] jevon at jevon dot org

This makes no sense. Why have E_NONE when using '0' is simpler? I don't
see how it would be helpful at all, especially since 0 is not a
combination of any other numbers.

------------------------------------------------------------------------

[2002-03-28 10:43:36] dshadow at zort dot net

While investigating bug 16004, I noticed there is no E_NONE error
constant. The folowing patch provides one. (Apologies if this is
mangled, but I don't see another way to submit patches...)

diff -ur php-4.1.2/Zend/zend_constants.c
php-4.1.2-enone/Zend/zend_constants.c
--- php-4.1.2/Zend/zend_constants.c     Mon Dec 17 00:22:24 2001
+++ php-4.1.2-enone/Zend/zend_constants.c       Thu Mar 28 10:32:06 2002
@@ -102,6 +102,8 @@
 
 void zend_register_standard_constants(TSRMLS_D)
 {
+       REGISTER_MAIN_LONG_CONSTANT("E_NONE", E_NONE, CONST_PERSISTENT |
CONST_CS);
+       
        REGISTER_MAIN_LONG_CONSTANT("E_ERROR", E_ERROR, CONST_PERSISTENT |
CONST_CS);
        REGISTER_MAIN_LONG_CONSTANT("E_WARNING", E_WARNING, CONST_PERSISTENT
| CONST_CS);
        REGISTER_MAIN_LONG_CONSTANT("E_PARSE", E_PARSE, CONST_PERSISTENT |
CONST_CS);
diff -ur php-4.1.2/Zend/zend_errors.h
php-4.1.2-enone/Zend/zend_errors.h
--- php-4.1.2/Zend/zend_errors.h        Mon Dec 17 00:22:24 2001
+++ php-4.1.2-enone/Zend/zend_errors.h  Thu Mar 28 10:31:41 2002
@@ -21,6 +21,8 @@
 #ifndef ZEND_ERRORS_H
 #define ZEND_ERRORS_H
 
+#define E_NONE                         (0)
+
 #define E_ERROR                                (1<<0L)
 #define E_WARNING                      (1<<1L)
 #define E_PARSE                                (1<<2L)


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=16330&edit=1

Reply via email to