From bb9a36cad1b738d42ae935ec2a90b04ef0afa0f2 Mon Sep 17 00:00:00 2001 From: Andi Gutmans Date: Sat, 1 Dec 2001 08:33:48 +0000 Subject: - Use alloca() when possible. --- Zend/zend_constants.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'Zend/zend_constants.c') diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 8fb2b8c3db..dee1315ca4 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -220,9 +220,12 @@ ZEND_API void zend_register_string_constant(char *name, uint name_len, char *str ZEND_API int zend_get_constant(char *name, uint name_len, zval *result TSRMLS_DC) { zend_constant *c; - char *lookup_name = estrndup(name, name_len); + char *lookup_name; int retval; + lookup_name = do_alloca(name_len+1); + memcpy(lookup_name, name, name_len+1); + zend_str_tolower(lookup_name, name_len); if (zend_hash_find(EG(zend_constants), lookup_name, name_len+1, (void **) &c)==SUCCESS) { @@ -236,8 +239,9 @@ ZEND_API int zend_get_constant(char *name, uint name_len, zval *result TSRMLS_DC } else { retval=0; } - - efree(lookup_name); + + free_alloca(lookup_name); + return retval; } -- cgit v1.2.1