summaryrefslogtreecommitdiff
path: root/Zend/zend_constants.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2003-05-21 22:57:51 +0000
committerMarcus Boerger <helly@php.net>2003-05-21 22:57:51 +0000
commit66b91259684beab659f4cdb6c3083d2ad7114816 (patch)
tree04fab4f5baa996fb330ed1fb266cea514355d8f9 /Zend/zend_constants.c
parent5298fd625620c54fdb7dc94ec7f2db614b43bae6 (diff)
downloadphp-git-66b91259684beab659f4cdb6c3083d2ad7114816.tar.gz
Make use optimized string lowering
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r--Zend/zend_constants.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index 826e6071fa..f81eaceb68 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -214,8 +214,7 @@ ZEND_API int zend_get_constant(char *name, uint name_len, zval *result TSRMLS_DC
if (zend_hash_find(EG(zend_constants), name, name_len+1, (void **) &c) == FAILURE) {
lookup_name = do_alloca(name_len+1);
- memcpy(lookup_name, name, name_len+1);
- zend_str_tolower(lookup_name, name_len);
+ zend_str_tolower_copy(lookup_name, name, name_len);
if (zend_hash_find(EG(zend_constants), lookup_name, name_len+1, (void **) &c)==SUCCESS) {
if ((c->flags & CONST_CS) && memcmp(c->name, name, name_len)!=0) {
@@ -245,13 +244,14 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC)
printf("Registering constant for module %d\n", c->module_number);
#endif
- lowercase_name = do_alloca(c->name_len);
-
- memcpy(lowercase_name, c->name, c->name_len);
+ lowercase_name = do_alloca(c->name_len + 1);
if (!(c->flags & CONST_CS)) {
- zend_str_tolower(lowercase_name, c->name_len);
- }
+ zend_str_tolower_copy(lowercase_name, c->name, c->name_len);
+ } else {
+ memcpy(lowercase_name, c->name, c->name_len);
+ lowercase_name[c->name_len] = '\0';
+ }
if (zend_hash_add(EG(zend_constants), lowercase_name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) {
free(c->name);