Req #16330 [Opn->Dup]: There is no E_NONE constant. Patch included.
| From: | aharvey@php.net | Date: | Fri, 27 Aug 2010 10:34:04 +0000 |
| Subject: | Req #16330 [Opn->Dup]: There is no E_NONE constant. Patch included. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-153848@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=16330&edit=1
ID: 16330
Updated by: aharvey@php.net
Reported by: dshadow at zort dot net
Summary: There is no E_NONE constant. Patch included.
-Status: Open
+Status: Duplicate
Type: Feature/Change Request
-Package: Feature/Change Request
+Package: *General Issues
Operating System: linux
PHP Version: 4.1.2
Block user comment: N
New Comment:
Didn't see this request earlier. Request #52563 is dealing with this,
anyway.
Previous Comments:
------------------------------------------------------------------------
[2004-04-26 13:28:46] dshadow at zort dot net
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
------------------------------------------------------------------------
[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/bug.php?id=16330&edit=1