diff options
| author | Sterling Hughes <sterling@php.net> | 2003-05-20 22:31:15 +0000 |
|---|---|---|
| committer | Sterling Hughes <sterling@php.net> | 2003-05-20 22:31:15 +0000 |
| commit | 34087ad2b55a187bd4a0c699a4bd7898cddcb425 (patch) | |
| tree | 6618a185bcfc4f6f29f29d44068489be3575d20d | |
| parent | e9c10acc76cac2efdc5341c9ad96362cf18bfa57 (diff) | |
| download | php-git-34087ad2b55a187bd4a0c699a4bd7898cddcb425.tar.gz | |
bah humbug, use the pointer based version, which turns out to be an instruction
faster
| -rw-r--r-- | Zend/zend_operators.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 4df314226f..8915ca90a4 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -1579,18 +1579,21 @@ ZEND_API int zval_is_true(zval *op) return (op->value.lval ? 1 : 0); } -ZEND_API char *zend_str_tolower_copy(char *str, unsigned int length) +ZEND_API char *zend_str_tolower_copy(char *p, unsigned int length) { register char *result; - register char *p = str; + register char *end = p + length; + char *start; result = emalloc(length+1); + start = result; - do { - result[length] = tolower(p[length]); - } while (length--); - - return result; + while (p < end) { + *result++ = tolower(*p++); + } + *result = *end; + + return start; } ZEND_API void zend_str_tolower(char *str, unsigned int length) |
