andrei Tue Apr 18 05:18:12 2006 UTC Modified files: /php-src/ext/standard string.c Log: I'm not sure what the heck people were thinking here, but it should be fixed finally. Please test. http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/string.c?r1=1.539&r2=1.540&diff_format=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.539 php-src/ext/standard/string.c:1.540 --- php-src/ext/standard/string.c:1.539 Tue Apr 18 02:40:29 2006 +++ php-src/ext/standard/string.c Tue Apr 18 05:18:12 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.539 2006/04/18 02:40:29 andrei Exp $ */ +/* $Id: string.c,v 1.540 2006/04/18 05:18:12 andrei Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -721,10 +721,12 @@ } if ( wh != ch ) break; } else { - if ( u_isWhitespace(ch) == FALSE ) break; + if ( u_isWhitespace(ch) == FALSE ) { + U16_BACK_1(c, 0, i); /* U16_NEXT() post-increments 'i' */ + break; + } } } - U16_BACK_1(c, 0, i); /* U16_NEXT() post-increments 'i' */ start = i; } if ( mode & 2 ) { @@ -737,12 +739,13 @@ } if ( wh != ch ) break; } else { - if ( u_isWhitespace(ch) == FALSE ) break; + if ( u_isWhitespace(ch) == FALSE ) { + U16_FWD_1(c, i, end); /* U16_PREV() pre-decrements 'i' */ + break; + } } } end = i; - } else { - --end; } if ( what ) { @@ -751,10 +754,10 @@ if ( start < len ) { if ( return_value ) { - RETVAL_UNICODEL(c+start, end-start+1, 1); + RETVAL_UNICODEL(c+start, end-start, 1); return NULL; } else { - return eustrndup(c+start, end-start+1); + return eustrndup(c+start, end-start); } } else { /* Trimmed the whole string */ if ( return_value ) {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php