felipe Tue Dec 30 02:12:45 2008 UTC Modified files: /php-src/ext/mbstring mbstring.c /php-src/ext/mbstring/tests mb_stristr_variation1.phpt mb_stristr_variation2.phpt Log: - Bug #46763 (mb_stristr() wrong output when needle does not exist) (patch by Henrique M. Decaria) http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.308&r2=1.309&diff_format=u Index: php-src/ext/mbstring/mbstring.c diff -u php-src/ext/mbstring/mbstring.c:1.308 php-src/ext/mbstring/mbstring.c:1.309 --- php-src/ext/mbstring/mbstring.c:1.308 Sat Dec 27 13:31:07 2008 +++ php-src/ext/mbstring/mbstring.c Tue Dec 30 02:12:43 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.308 2008/12/27 13:31:07 felipe Exp $ */ +/* $Id: mbstring.c,v 1.309 2008/12/30 02:12:43 felipe Exp $ */ /* * PHP 4 Multibyte String module "mbstring" @@ -2386,7 +2386,8 @@ PHP_FUNCTION(mb_stristr) { zend_bool part = 0; - unsigned int n, from_encoding_len, len, mblen; + unsigned int from_encoding_len, len, mblen; + int n; mbfl_string haystack, needle, result, *ret = NULL; const char *from_encoding = mbfl_no2preferred_mime_name(MBSTRG(current_internal_encoding)); mbfl_string_init(&haystack); http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_stristr_variation1.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_stristr_variation1.phpt diff -u php-src/ext/mbstring/tests/mb_stristr_variation1.phpt:1.2 php-src/ext/mbstring/tests/mb_stristr_variation1.phpt:1.3 --- php-src/ext/mbstring/tests/mb_stristr_variation1.phpt:1.2 Fri Dec 5 13:13:14 2008 +++ php-src/ext/mbstring/tests/mb_stristr_variation1.phpt Tue Dec 30 02:12:44 2008 @@ -122,31 +122,31 @@ *** Testing mb_stristr() : usage variation *** --int 0-- -string(0) "" +bool(false) --int 1-- -string(0) "" +bool(false) --int 12345-- -string(0) "" +bool(false) --int -12345-- -string(0) "" +bool(false) --float 10.5-- -string(0) "" +bool(false) --float -10.5-- -string(0) "" +bool(false) --float 12.3456789000e10-- -string(0) "" +bool(false) --float -12.3456789000e10-- -string(0) "" +bool(false) --float .5-- -string(0) "" +bool(false) --empty array-- Error: 2 - mb_stristr() expects parameter 1 to be binary string, array given, %s(%d) @@ -165,41 +165,41 @@ bool(false) --uppercase NULL-- -string(0) "" +bool(false) --lowercase null-- -string(0) "" +bool(false) --lowercase true-- -string(0) "" +bool(false) --lowercase false-- -string(0) "" +bool(false) --uppercase TRUE-- -string(0) "" +bool(false) --uppercase FALSE-- -string(0) "" +bool(false) --empty string DQ-- -string(0) "" +bool(false) --empty string SQ-- -string(0) "" +bool(false) --instance of classWithToString-- -string(0) "" +bool(false) --instance of classWithoutToString-- Error: 2 - mb_stristr() expects parameter 1 to be binary string, object given, %s(%d) bool(false) --undefined var-- -string(0) "" +bool(false) --unset var-- -string(0) "" +bool(false) --resource-- Error: 2 - mb_stristr() expects parameter 1 to be binary string, resource given, %s(%d) http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_stristr_variation2.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_stristr_variation2.phpt diff -u php-src/ext/mbstring/tests/mb_stristr_variation2.phpt:1.2 php-src/ext/mbstring/tests/mb_stristr_variation2.phpt:1.3 --- php-src/ext/mbstring/tests/mb_stristr_variation2.phpt:1.2 Fri Dec 5 13:13:14 2008 +++ php-src/ext/mbstring/tests/mb_stristr_variation2.phpt Tue Dec 30 02:12:44 2008 @@ -122,31 +122,31 @@ *** Testing mb_stristr() : usage variation *** --int 0-- -string(0) "" +bool(false) --int 1-- -string(0) "" +bool(false) --int 12345-- -string(0) "" +bool(false) --int -12345-- -string(0) "" +bool(false) --float 10.5-- -string(0) "" +bool(false) --float -10.5-- -string(0) "" +bool(false) --float 12.3456789000e10-- -string(0) "" +bool(false) --float -12.3456789000e10-- -string(0) "" +bool(false) --float .5-- -string(0) "" +bool(false) --empty array-- Error: 2 - mb_stristr() expects parameter 2 to be binary string, array given, %s(%d) @@ -173,14 +173,14 @@ bool(false) --lowercase true-- -string(0) "" +bool(false) --lowercase false-- Error: 2 - mb_stristr(): Empty delimiter., %s(%d) bool(false) --uppercase TRUE-- -string(0) "" +bool(false) --uppercase FALSE-- Error: 2 - mb_stristr(): Empty delimiter., %s(%d)
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php