summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSterling Hughes <sterling@php.net>2003-05-20 22:31:15 +0000
committerSterling Hughes <sterling@php.net>2003-05-20 22:31:15 +0000
commit34087ad2b55a187bd4a0c699a4bd7898cddcb425 (patch)
tree6618a185bcfc4f6f29f29d44068489be3575d20d
parente9c10acc76cac2efdc5341c9ad96362cf18bfa57 (diff)
downloadphp-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.c17
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)