From: Sterling Hughes Date: Tue, 20 May 2003 22:31:15 +0000 (+0000) Subject: bah humbug, use the pointer based version, which turns out to be an instruction X-Git-Tag: RELEASE_1_0_2~672 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34087ad2b55a187bd4a0c699a4bd7898cddcb425;p=php bah humbug, use the pointer based version, which turns out to be an instruction faster --- 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)