From efae48d99611a8d35604fec38e29eff452b552d1 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Sat, 22 Feb 2014 00:20:57 +0400 Subject: [PATCH] Fixed constant name construction --- Zend/zend_constants.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 04162c8b70..cf9802b498 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -398,7 +398,7 @@ ZEND_API int zend_get_constant_ex(const char *name, uint name_len, zval *result, } else { /* try lowercase */ zend_str_tolower(lcname->val + prefix_len + 1, const_name_len); - lcname->h = 0; // reuse ??? + STR_FORGET_HASH_VAL(lcname); if ((c = zend_hash_find_ptr(EG(zend_constants), lcname)) != NULL) { if ((c->flags & CONST_CS) == 0) { found_const = 1; @@ -478,8 +478,8 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC) } else { char *slash = strrchr(c->name->val, '\\'); if (slash) { - lowercase_name = STR_ALLOC(c->name->len, c->flags & CONST_PERSISTENT); - zend_str_tolower_copy(lowercase_name->val, c->name->val, c->name->len); + lowercase_name = STR_INIT(c->name->val, c->name->len, c->flags & CONST_PERSISTENT); + zend_str_tolower(lowercase_name->val, slash - c->name->val); lowercase_name = zend_new_interned_string(lowercase_name TSRMLS_CC); name = lowercase_name; } else { -- 2.40.0