Commit:    f11d620cb62cc17baab58c92d0a81dcde90887f6
Author:    krakjoe <joe.watk...@live.co.uk>         Mon, 15 Apr 2013 18:13:09 
+0100
Parents:   a0e3ca1c986681d0136ce4550359ecee2826a80c
Branches:  master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=f11d620cb62cc17baab58c92d0a81dcde90887f6

Log:
zend_register_bool_constant patch

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 21580d3..c00caa8 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -175,6 +175,18 @@ void clean_non_persistent_constants(TSRMLS_D)
        }
 }
 
+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;
+       
+       c.value.type = IS_BOOL;
+       c.value.value.lval = bval;
+       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_long_constant(const char *name, uint name_len, 
long lval, int flags, int module_number TSRMLS_DC)
 {
diff --git a/Zend/zend_constants.h b/Zend/zend_constants.h
index c726194..a377c0f 100644
--- a/Zend/zend_constants.h
+++ b/Zend/zend_constants.h
@@ -38,16 +38,19 @@ typedef struct _zend_constant {
        int module_number;
 } zend_constant;
 
+#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_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_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)
@@ -62,6 +65,7 @@ void zend_register_standard_constants(TSRMLS_D);
 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_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);


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to