cvs: php-src /ext/standard string.c
| From: | Arnaud Le Blanc | Date: | Sun, 14 Sep 2008 14:56:34 +0000 |
| Subject: | cvs: php-src /ext/standard string.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-53142@lists.php.net to get a copy of this message | ||
lbarnaud Sun Sep 14 14:56:34 2008 UTC
Modified files:
/php-src/ext/standard string.c
Log:
Fix str len in stripos when $offset argument is given
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.681&r2=1.682&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.681 php-src/ext/standard/string.c:1.682
--- php-src/ext/standard/string.c:1.681 Sat Aug 16 21:16:24 2008
+++ php-src/ext/standard/string.c Sun Sep 14 14:56:34 2008
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: string.c,v 1.681 2008/08/16 21:16:24 felipe Exp $ */
+/* $Id: string.c,v 1.682 2008/09/14 14:56:34 lbarnaud Exp $ */
/* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
@@ -2664,7 +2664,7 @@
if (Z_TYPE_PP(haystack) == IS_UNICODE) {
/* calculate code unit offset */
U16_FWD_N(Z_USTRVAL_PP(haystack), cu_offset, haystack_len, offset);
- found = php_u_stristr(Z_USTRVAL_PP(haystack) + cu_offset, Z_USTRVAL_PP(needle), haystack_len,
needle_len, 1 TSRMLS_CC);
+ found = php_u_stristr(Z_USTRVAL_PP(haystack) + cu_offset, Z_USTRVAL_PP(needle), haystack_len -
cu_offset, needle_len, 1 TSRMLS_CC);
} else {
haystack_dup = estrndup(Z_STRVAL_PP(haystack), haystack_len);
php_strtolower((char *)haystack_dup, haystack_len);
@@ -2686,7 +2686,7 @@
/* calculate code unit offset */
U16_FWD_N(Z_USTRVAL_PP(haystack), cu_offset, haystack_len, offset);
found = php_u_stristr(Z_USTRVAL_PP(haystack) + cu_offset,
- u_needle_char, haystack_len, needle_len, 1 TSRMLS_CC);
+ u_needle_char, haystack_len - cu_offset, needle_len, 1 TSRMLS_CC);
} else {
c = tolower((char)Z_LVAL_PP(needle));
needle_char[0] = c;