diff options
| author | Andi Gutmans <andi@php.net> | 2001-12-01 08:33:48 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2001-12-01 08:33:48 +0000 |
| commit | bb9a36cad1b738d42ae935ec2a90b04ef0afa0f2 (patch) | |
| tree | dfc74919e53f474c725b20e3e7936756d5842b67 /Zend/zend_constants.c | |
| parent | c45f6998302c8c848ae38117f16faa655ce51e33 (diff) | |
| download | php-git-bb9a36cad1b738d42ae935ec2a90b04ef0afa0f2.tar.gz | |
- Use alloca() when possible.
Diffstat (limited to 'Zend/zend_constants.c')
| -rw-r--r-- | Zend/zend_constants.c | 10 |
1 files changed, 7 insertions, 3 deletions
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; } |
