From: Andrei Zmievski Date: Wed, 16 Aug 2006 18:07:22 +0000 (+0000) Subject: Simplify php_u_trim(). X-Git-Tag: RELEASE_1_0_0RC1~1936 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=253a82d0cc35ad4219dbdefe04315fb94e069cd9;p=php Simplify php_u_trim(). --- diff --git a/ext/standard/string.c b/ext/standard/string.c index 418a4ef836..d0c453498c 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -709,10 +709,6 @@ static UChar *php_u_trim(UChar *c, int len, UChar *what, int what_len, zval *ret UChar ch = 0, wh = 0; int32_t start = 0, end = len; - /* - * UTODO - * fix trim("a") results in "" - */ if ( what ) { what = eustrndup(what, what_len); php_expand_u_trim_range(&what, &what_len TSRMLS_CC); @@ -722,11 +718,9 @@ static UChar *php_u_trim(UChar *c, int len, UChar *what, int what_len, zval *ret for ( i = k = 0 ; i < end ; ) { U16_NEXT(c, k, end, ch); if ( what ) { - for ( j = 0 ; j < what_len ; ) { - U16_NEXT(what, j, what_len, wh); - if ( wh == ch ) break; + if (u_memchr32(what, ch, what_len) == NULL) { + break; } - if ( wh != ch ) break; } else { if ( u_isWhitespace(ch) == FALSE ) { break; @@ -740,11 +734,9 @@ static UChar *php_u_trim(UChar *c, int len, UChar *what, int what_len, zval *ret for ( i = k = end ; i > start ; ) { U16_PREV(c, 0, k, ch); if ( what ) { - for ( j = 0 ; j < what_len ; ) { - U16_NEXT(what, j, what_len, wh); - if ( wh == ch ) break; + if (u_memchr32(what, ch, what_len) == NULL) { + break; } - if ( wh != ch ) break; } else { if ( u_isWhitespace(ch) == FALSE ) { break;