summaryrefslogtreecommitdiff
path: root/Zend/zend_constants.c
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2009-03-26 20:02:53 +0000
committerFelipe Pena <felipe@php.net>2009-03-26 20:02:53 +0000
commit8ecf8ede1ff9cd425cf1cfd754558ff4bd2d38f4 (patch)
tree8d447a97971dd7d300621a52f491906cb1e7d576 /Zend/zend_constants.c
parent5d8cf0217f3a45d297f63f726774fb94b7f1353d (diff)
downloadphp-git-8ecf8ede1ff9cd425cf1cfd754558ff4bd2d38f4.tar.gz
- Removed:
- UG(unicode) checks - pcre_cache_entry.unicode_mode - Changed: - ZEND_STR_TYPE -> IS_UNICODE - convert_to_text -> convert_to_unicode - convert_to_text_ex -> convert_to_unicode_ex (Felipe, Steph)
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r--Zend/zend_constants.c105
1 files changed, 42 insertions, 63 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index d89ce23544..2b08ff8b7b 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -38,11 +38,9 @@ void free_zend_constant(zend_constant *c) /* {{{ */
void copy_zend_constant(zend_constant *c) /* {{{ */
{
TSRMLS_FETCH();
- if (UG(unicode)) {
- c->name.u = zend_ustrndup(c->name.u, c->name_len - 1);
- } else {
- c->name.s = zend_strndup(c->name.s, c->name_len - 1);
- }
+
+ c->name.u = zend_ustrndup(c->name.u, c->name_len - 1);
+
if (!(c->flags & CONST_PERSISTENT)) {
zval_copy_ctor(&c->value);
}
@@ -192,19 +190,15 @@ ZEND_API void zend_register_long_constant(const char *name, uint name_len, long
{
zend_constant c;
- if (UG(unicode)) {
- c.name.u = malloc(UBYTES(name_len));
- u_charsToUChars(name, c.name.u, name_len);
- c.name_len = name_len;
- } else {
- c.name.s = zend_strndup(name, name_len-1);
- c.name_len = name_len;
- }
+ c.name.u = malloc(UBYTES(name_len));
+ u_charsToUChars(name, c.name.u, name_len);
+ c.name_len = name_len;
+
Z_TYPE(c.value) = IS_LONG;
Z_LVAL(c.value) = lval;
c.flags = flags;
c.module_number = module_number;
- zend_u_register_constant(ZEND_STR_TYPE, &c TSRMLS_CC);
+ zend_u_register_constant(IS_UNICODE, &c TSRMLS_CC);
}
/* }}} */
@@ -212,19 +206,15 @@ ZEND_API void zend_register_double_constant(const char *name, uint name_len, dou
{
zend_constant c;
- if (UG(unicode)) {
- c.name.u = malloc(UBYTES(name_len));
- u_charsToUChars(name, c.name.u, name_len);
- c.name_len = name_len;
- } else {
- c.name.s = zend_strndup(name, name_len-1);
- c.name_len = name_len;
- }
+ c.name.u = malloc(UBYTES(name_len));
+ u_charsToUChars(name, c.name.u, name_len);
+ c.name_len = name_len;
+
Z_TYPE(c.value) = IS_DOUBLE;
Z_DVAL(c.value) = dval;
c.flags = flags;
c.module_number = module_number;
- zend_u_register_constant(ZEND_STR_TYPE, &c TSRMLS_CC);
+ zend_u_register_constant(IS_UNICODE, &c TSRMLS_CC);
}
/* }}} */
@@ -232,31 +222,24 @@ ZEND_API void zend_register_stringl_constant(const char *name, uint name_len, ch
{
zend_constant c;
- if (UG(unicode)) {
- c.name.u = malloc(UBYTES(name_len));
- u_charsToUChars(name, c.name.u, name_len);
- c.name_len = name_len;
- Z_TYPE(c.value) = IS_UNICODE;
- if (flags & CONST_PERSISTENT) {
- Z_USTRVAL(c.value) = malloc(UBYTES(strlen+1));
- } else {
- Z_USTRVAL(c.value) = emalloc(UBYTES(strlen+1));
- }
- u_charsToUChars(strval, Z_USTRVAL(c.value), strlen+1);
- Z_USTRLEN(c.value) = strlen;
- if (!(flags & CONST_PERSISTENT)) {
- efree(strval);
- }
+ c.name.u = malloc(UBYTES(name_len));
+ u_charsToUChars(name, c.name.u, name_len);
+ c.name_len = name_len;
+ Z_TYPE(c.value) = IS_UNICODE;
+ if (flags & CONST_PERSISTENT) {
+ Z_USTRVAL(c.value) = malloc(UBYTES(strlen+1));
} else {
- c.name.s = zend_strndup(name, name_len-1);
- c.name_len = name_len;
- Z_TYPE(c.value) = IS_STRING;
- Z_STRVAL(c.value) = strval;
- Z_STRLEN(c.value) = strlen;
+ Z_USTRVAL(c.value) = emalloc(UBYTES(strlen+1));
}
+ u_charsToUChars(strval, Z_USTRVAL(c.value), strlen+1);
+ Z_USTRLEN(c.value) = strlen;
+ if (!(flags & CONST_PERSISTENT)) {
+ efree(strval);
+ }
+
c.flags = flags;
c.module_number = module_number;
- zend_u_register_constant(ZEND_STR_TYPE, &c TSRMLS_CC);
+ zend_u_register_constant(IS_UNICODE, &c TSRMLS_CC);
}
/* }}} */
@@ -573,26 +556,22 @@ ZEND_API int zend_u_register_constant(zend_uchar type, zend_constant *c TSRMLS_D
ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC) /* {{{ */
{
- if (UG(unicode)) {
- UChar *ustr;
-
- if (c->name.s) {
- ustr = malloc(UBYTES(c->name_len));
- u_charsToUChars(c->name.s, ustr, c->name_len);
- free(c->name.s);
- c->name.u = ustr;
- }
- if (Z_TYPE(c->value) == IS_STRING || (Z_TYPE(c->value) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) {
- ustr = pemalloc(UBYTES(Z_STRLEN(c->value)+1), c->flags & CONST_PERSISTENT);
- u_charsToUChars(Z_STRVAL(c->value), ustr, Z_STRLEN(c->value)+1);
- pefree(Z_STRVAL(c->value), c->flags & CONST_PERSISTENT);
- Z_USTRVAL(c->value) = ustr;
- if (Z_TYPE(c->value) == IS_STRING) Z_TYPE(c->value) = IS_UNICODE;
- }
- return zend_u_register_constant(IS_UNICODE, c TSRMLS_CC);
- } else {
- return zend_u_register_constant(IS_STRING, c TSRMLS_CC);
+ UChar *ustr;
+
+ if (c->name.s) {
+ ustr = malloc(UBYTES(c->name_len));
+ u_charsToUChars(c->name.s, ustr, c->name_len);
+ free(c->name.s);
+ c->name.u = ustr;
+ }
+ if (Z_TYPE(c->value) == IS_STRING || (Z_TYPE(c->value) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) {
+ ustr = pemalloc(UBYTES(Z_STRLEN(c->value)+1), c->flags & CONST_PERSISTENT);
+ u_charsToUChars(Z_STRVAL(c->value), ustr, Z_STRLEN(c->value)+1);
+ pefree(Z_STRVAL(c->value), c->flags & CONST_PERSISTENT);
+ Z_USTRVAL(c->value) = ustr;
+ if (Z_TYPE(c->value) == IS_STRING) Z_TYPE(c->value) = IS_UNICODE;
}
+ return zend_u_register_constant(IS_UNICODE, c TSRMLS_CC);
}
/* }}} */