cvs: ZendEngine2 / zend_constants.c

From: Date: Wed, 26 May 2004 21:01:37 +0000
Subject: cvs: ZendEngine2 / zend_constants.c
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-2666@lists.php.net to get a copy of this message
andrei Wed May 26 17:01:37 2004 EDT Modified files: /ZendEngine2 zend_constants.c Log: Avoid unnecessary and silly copying of constant name when registering. http://cvs.php.net/diff.php/ZendEngine2/zend_constants.c?r1=1.66&r2=1.67&ty=u Index: ZendEngine2/zend_constants.c diff -u ZendEngine2/zend_constants.c:1.66 ZendEngine2/zend_constants.c:1.67 --- ZendEngine2/zend_constants.c:1.66 Tue Mar 9 10:37:18 2004 +++ ZendEngine2/zend_constants.c Wed May 26 17:01:37 2004 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_constants.c,v 1.66 2004/03/09 15:37:18 andi Exp $ */ +/* $Id: zend_constants.c,v 1.67 2004/05/26 21:01:37 andrei Exp $ */ #include "zend.h" #include "zend_constants.h" @@ -302,7 +302,8 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC) { - char *lowercase_name; + char *lowercase_name = NULL; + char *name; int ret = SUCCESS; #if 0 @@ -313,21 +314,22 @@ /* keep in mind that c->name_len already contains the '\0' */ lowercase_name = do_alloca(c->name_len); zend_str_tolower_copy(lowercase_name, c->name, c->name_len - 1); + name = lowercase_name; } else { - lowercase_name = do_alloca(c->name_len + 1); - memcpy(lowercase_name, c->name, c->name_len); - lowercase_name[c->name_len] = '\0'; + name = c->name; } - if (zend_hash_add(EG(zend_constants), lowercase_name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) { + if (zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) { free(c->name); if (!(c->flags & CONST_PERSISTENT)) { zval_dtor(&c->value); } - zend_error(E_NOTICE,"Constant %s already defined", lowercase_name); + zend_error(E_NOTICE,"Constant %s already defined", name); ret = FAILURE; } - free_alloca(lowercase_name); + if (lowercase_name) { + free_alloca(lowercase_name); + } return ret; }

« previous php.zend-engine.cvs (#2666) next »