com php-src: zend_register_null_constant fixed zend _register_bool_constant usage in macros use REG ISTER_MAIN_* in zend_register_standard_constants :
Zend/zend_constants.c Zend/zend_constants.h
| From: | Stanislav Malyshev | Date: | Mon, 15 Apr 2013 19:47:13 +0000 |
| Subject: | com php-src: zend_register_null_constant fixed zend _register_bool_constant usage in macros use REG ISTER_MAIN_* in zend_register_standard_constants : Zend/zend_constants.c Zend/zend_constants.h |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-72735@lists.php.net to get a copy of this message | ||
Commit: 2c0d93bcbf3ee0a561b066047a8dc551d2aacb06
Author: krakjoe <joe.watkins@live.co.uk> Mon, 15 Apr 2013 20:47:13 +0100
Parents: a49bb472a33f25640b6c5b7db965d866019367c5
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2c0d93bcbf3ee0a561b066047a8dc551d2aacb06
Log:
zend_register_null_constant
fixed zend_register_bool_constant usage in macros
use REGISTER_MAIN_* in zend_register_standard_constants
Changed paths:
M Zend/zend_constants.c
M Zend/zend_constants.h
Diff:
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index 64b5edb..594559d 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -119,38 +119,12 @@ void zend_register_standard_constants(TSRMLS_D)
REGISTER_MAIN_LONG_CONSTANT("DEBUG_BACKTRACE_IGNORE_ARGS", DEBUG_BACKTRACE_IGNORE_ARGS,
CONST_PERSISTENT | CONST_CS);
/* true/false constants */
{
- zend_constant c;
-
- c.flags = CONST_PERSISTENT | CONST_CT_SUBST;
- c.module_number = 0;
-
- c.name = zend_strndup(ZEND_STRL("TRUE"));
- c.name_len = sizeof("TRUE");
- ZVAL_BOOL(&c.value, 1);
- zend_register_constant(&c TSRMLS_CC);
-
- c.name = zend_strndup(ZEND_STRL("FALSE"));
- c.name_len = sizeof("FALSE");
- ZVAL_BOOL(&c.value, 0);
- zend_register_constant(&c TSRMLS_CC);
-
- c.name = zend_strndup(ZEND_STRL("NULL"));
- c.name_len = sizeof("NULL");
- ZVAL_NULL(&c.value);
- zend_register_constant(&c TSRMLS_CC);
-
- c.flags = CONST_PERSISTENT | CONST_CS;
-
- c.name = zend_strndup(ZEND_STRL("ZEND_THREAD_SAFE"));
- c.name_len = sizeof("ZEND_THREAD_SAFE");
- ZVAL_BOOL(&c.value, ZTS_V);
- zend_register_constant(&c TSRMLS_CC);
-
- c.name = zend_strndup(ZEND_STRL("ZEND_DEBUG_BUILD"));
- c.name_len = sizeof("ZEND_DEBUG_BUILD");
- ZVAL_BOOL(&c.value, ZEND_DEBUG);
- zend_register_constant(&c TSRMLS_CC);
+ REGISTER_MAIN_BOOL_CONSTANT("TRUE", 1, CONST_PERSISTENT | CONST_CT_SUBST);
+ REGISTER_MAIN_BOOL_CONSTANT("FALSE", 0, CONST_PERSISTENT | CONST_CT_SUBST);
+ REGISTER_MAIN_BOOL_CONSTANT("ZEND_THREAD_SAFE", ZTS_V, CONST_PERSISTENT | CONST_CS);
+ REGISTER_MAIN_BOOL_CONSTANT("ZEND_DEBUG_BUILD", ZEND_DEBUG, CONST_PERSISTENT |
CONST_CS);
}
+ REGISTER_MAIN_NULL_CONSTANT("NULL", CONST_PERSISTENT | CONST_CT_SUBST);
}
@@ -171,6 +145,18 @@ void clean_non_persistent_constants(TSRMLS_D)
}
}
+ZEND_API void zend_register_null_constant(const char *name, uint name_len, int flags, int
module_number TSRMLS_DC)
+{
+ zend_constant c;
+
+ ZVAL_NULL(&c.value);
+ c.flags = flags;
+ c.name = zend_strndup(name, name_len-1);
+ c.name_len = name_len;
+ c.module_number = module_number;
+ zend_register_constant(&c TSRMLS_CC);
+}
+
ZEND_API void zend_register_bool_constant(const char *name, uint name_len, zend_bool bval, int
flags, int module_number TSRMLS_DC)
{
zend_constant c;
diff --git a/Zend/zend_constants.h b/Zend/zend_constants.h
index a377c0f..718c173 100644
--- a/Zend/zend_constants.h
+++ b/Zend/zend_constants.h
@@ -38,19 +38,22 @@ typedef struct _zend_constant {
int module_number;
} zend_constant;
+#define REGISTER_NULL_CONSTANT(name, flags) zend_register_null_constant((name), sizeof(name),
(flags), module_number TSRMLS_CC)
#define REGISTER_BOOL_CONSTANT(name, bval, flags) zend_register_bool_constant((name),
sizeof(name), (bval), (flags), module_number TSRMLS_CC)
#define REGISTER_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name),
sizeof(name), (lval), (flags), module_number TSRMLS_CC)
#define REGISTER_DOUBLE_CONSTANT(name, dval, flags) zend_register_double_constant((name),
sizeof(name), (dval), (flags), module_number TSRMLS_CC)
#define REGISTER_STRING_CONSTANT(name, str, flags) zend_register_string_constant((name),
sizeof(name), (str), (flags), module_number TSRMLS_CC)
#define REGISTER_STRINGL_CONSTANT(name, str, len, flags) zend_register_stringl_constant((name),
sizeof(name), (str), (len), (flags), module_number TSRMLS_CC)
-#define REGISTER_NS_BOOL_CONSTANT(ns, name, bval, flags)
zend_register_long_constant(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name)), (bval), (flags),
module_number TSRMLS_CC)
+#define REGISTER_NS_NULL_CONSTANT(ns, name, flags) zend_register_null_constant(ZEND_NS_NAME(ns,
name), sizeof(ZEND_NS_NAME(ns, name)), (flags), module_number TSRMLS_CC)
+#define REGISTER_NS_BOOL_CONSTANT(ns, name, bval, flags)
zend_register_bool_constant(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name)), (bval), (flags),
module_number TSRMLS_CC)
#define REGISTER_NS_LONG_CONSTANT(ns, name, lval, flags)
zend_register_long_constant(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name)), (lval), (flags),
module_number TSRMLS_CC)
#define REGISTER_NS_DOUBLE_CONSTANT(ns, name, dval, flags)
zend_register_double_constant(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name)), (dval),
(flags), module_number TSRMLS_CC)
#define REGISTER_NS_STRING_CONSTANT(ns, name, str, flags)
zend_register_string_constant(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name)), (str),
(flags), module_number TSRMLS_CC)
#define REGISTER_NS_STRINGL_CONSTANT(ns, name, str, len, flags)
zend_register_stringl_constant(ZEND_NS_NAME(ns, name), sizeof(ZEND_NS_NAME(ns, name)), (str), (len),
(flags), module_number TSRMLS_CC)
-#define REGISTER_MAIN_BOOL_CONSTANT(name, bval, flags) zend_register_long_constant((name),
sizeof(name), (bval), (flags), 0 TSRMLS_CC)
+#define REGISTER_MAIN_NULL_CONSTANT(name, flags) zend_register_null_constant((name), sizeof(name),
(flags), 0 TSRMLS_CC)
+#define REGISTER_MAIN_BOOL_CONSTANT(name, bval, flags) zend_register_bool_constant((name),
sizeof(name), (bval), (flags), 0 TSRMLS_CC)
#define REGISTER_MAIN_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name),
sizeof(name), (lval), (flags), 0 TSRMLS_CC)
#define REGISTER_MAIN_DOUBLE_CONSTANT(name, dval, flags) zend_register_double_constant((name),
sizeof(name), (dval), (flags), 0 TSRMLS_CC)
#define REGISTER_MAIN_STRING_CONSTANT(name, str, flags) zend_register_string_constant((name),
sizeof(name), (str), (flags), 0 TSRMLS_CC)
@@ -66,6 +69,7 @@ void clean_non_persistent_constants(TSRMLS_D);
ZEND_API int zend_get_constant(const char *name, uint name_len, zval *result TSRMLS_DC);
ZEND_API int zend_get_constant_ex(const char *name, uint name_len, zval *result, zend_class_entry
*scope, ulong flags TSRMLS_DC);
ZEND_API void zend_register_bool_constant(const char *name, uint name_len, zend_bool bval, int
flags, int module_number TSRMLS_DC);
+ZEND_API void zend_register_null_constant(const char *name, uint name_len, int flags, int
module_number TSRMLS_DC);
ZEND_API void zend_register_long_constant(const char *name, uint name_len, long lval, int flags,
int module_number TSRMLS_DC);
ZEND_API void zend_register_double_constant(const char *name, uint name_len, double dval, int
flags, int module_number TSRMLS_DC);
ZEND_API void zend_register_string_constant(const char *name, uint name_len, char *strval, int
flags, int module_number TSRMLS_DC);