diff options
| author | Marcus Boerger <helly@php.net> | 2003-05-21 21:59:40 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2003-05-21 21:59:40 +0000 |
| commit | 7af8eadd57b198c7fc91698cdfe68300d3aeec19 (patch) | |
| tree | 83a864335a1c61be756464bca9ae1bc6238c8cfd /Zend/zend_operators.c | |
| parent | bbe87059fb660fa771c0a6d323eb3a0ee06ca0e7 (diff) | |
| download | php-git-7af8eadd57b198c7fc91698cdfe68300d3aeec19.tar.gz | |
Make zend_str_tolower_copy() a copy function (like stccpy).
Supply a dup version (like estrdup).
Fix tolower() handling.
# Havin copy and dup allows to use the faster version even with
# memory not allocated by emalloc.
Diffstat (limited to 'Zend/zend_operators.c')
| -rw-r--r-- | Zend/zend_operators.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index f89d119fc5..65ce8fcf47 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -1581,30 +1581,27 @@ ZEND_API int zval_is_true(zval *op) return (op->value.lval ? 1 : 0); } -ZEND_API char *zend_str_tolower_copy(char *p, unsigned int length) +ZEND_API char *zend_str_tolower_copy(char *source, char *dest, unsigned int length) { - register char *result; - register char *end = p + length; - char *start; + register unsigned char *str = (unsigned char*)source; + register unsigned char *result = dest; + register unsigned char *end = str + length; - result = emalloc(length+1); - start = result; - - while (p < end) { - *result++ = tolower(*p++); + while (str < end) { + *result++ = tolower((int)*str++); } *result = *end; - return start; + return dest; } ZEND_API void zend_str_tolower(char *str, unsigned int length) { - register char *p=str; - register char *end = str + length; + register unsigned char *p = (unsigned char*)str; + register unsigned char *end = p + length; while (p < end) { - *p = tolower(*p); + *p = tolower((int)*p); p++; } } |
