summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSterling Hughes <sterling@php.net>2003-05-20 19:09:33 +0000
committerSterling Hughes <sterling@php.net>2003-05-20 19:09:33 +0000
commit3079bb1bda1d2b591e1775558a552c6b842bca6a (patch)
tree358355b7ae437ff5f22773679a9275eca6e472fb
parent54764e98484ef53631f32d2858bd28eb71e327fc (diff)
downloadphp-git-3079bb1bda1d2b591e1775558a552c6b842bca6a.tar.gz
make this faster and sexier
-rw-r--r--Zend/zend_operators.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index b1afbb8b16..fe20ab9c09 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -1581,32 +1581,25 @@ ZEND_API int zval_is_true(zval *op)
ZEND_API char *zend_str_tolower_copy(char *str, unsigned int length)
{
- char *start;
register char *result;
register char *p = str;
- register char *end = p + length;
result = emalloc(length+1);
- start = result;
- while (p < end) {
- *result++ = tolower(*p++);
- }
- *result = *end;
+ do {
+ result[length] = tolower(p[length]);
+ } while (length--);
- return start;
+ return result;
}
ZEND_API void zend_str_tolower(char *str, unsigned int length)
{
- register char *p=str, *end=p+length;
+ register char *p=str;
- while (p<end) {
- if (*p >= 'A' && *p <= 'Z') {
- *p = (*p)+32;
- }
- p++;
- }
+ do {
+ p[length] = tolower(p[length]);
+ } while (length--);
}
ZEND_API int zend_binary_strcmp(char *s1, uint len1, char *s2, uint len2)