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);
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;
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;