moriyoshi Sun Feb 15 07:11:23 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard/tests/strings bug40754.phpt strripos_offset.phpt strrpos_variation14.phpt strrpos_variation15.phpt /php-src/ext/mbstring/tests bug43840.phpt bug43841.phpt mb_stripos_variation3.phpt mb_stripos_variation5_Bug45923.phpt mb_strpos_variation2.phpt mb_strpos_variation3.phpt mb_strpos_variation5.phpt mb_strripos_variation3_Bug45923.phpt mb_strripos_variation5_Bug45923.phpt mb_strrpos_variation3.phpt /php-src/ext/mbstring mbstring.c /php-src/ext/mbstring/libmbfl/mbfl mbfilter.c Log: - MFH: Refix bug #43840. - MFH: Fix bug #43841. - MFH: Remove redundant trailing dots from the error messages. - MFH: Fix tests.
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/bug40754.phpt?r1=1.1.2.4&r2=1.1.2.5&diff_format=u Index: php-src/ext/standard/tests/strings/bug40754.phpt diff -u php-src/ext/standard/tests/strings/bug40754.phpt:1.1.2.4 php-src/ext/standard/tests/strings/bug40754.phpt:1.1.2.5 --- php-src/ext/standard/tests/strings/bug40754.phpt:1.1.2.4 Thu Oct 4 13:31:11 2007 +++ php-src/ext/standard/tests/strings/bug40754.phpt Sun Feb 15 07:11:23 2009 @@ -53,10 +53,10 @@ Warning: stripos(): Offset not contained in string in %s on line %d bool(false) -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) int(2) string(8) "abcdeabc" http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strripos_offset.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/strings/strripos_offset.phpt diff -u php-src/ext/standard/tests/strings/strripos_offset.phpt:1.1.2.2 php-src/ext/standard/tests/strings/strripos_offset.phpt:1.1.2.3 --- php-src/ext/standard/tests/strings/strripos_offset.phpt:1.1.2.2 Thu May 10 22:10:43 2007 +++ php-src/ext/standard/tests/strings/strripos_offset.phpt Sun Feb 15 07:11:23 2009 @@ -16,30 +16,30 @@ echo "Done\n"; ?> --EXPECTF-- -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) Warning: strripos() expects parameter 1 to be string, array given in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strrpos_variation14.phpt?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/standard/tests/strings/strrpos_variation14.phpt diff -u php-src/ext/standard/tests/strings/strrpos_variation14.phpt:1.1.2.1 php-src/ext/standard/tests/strings/strrpos_variation14.phpt:1.1.2.2 --- php-src/ext/standard/tests/strings/strrpos_variation14.phpt:1.1.2.1 Fri Oct 5 18:31:50 2007 +++ php-src/ext/standard/tests/strings/strrpos_variation14.phpt Sun Feb 15 07:11:23 2009 @@ -92,7 +92,7 @@ int(6) -- Iteration 3 -- -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 4 -- int(6) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/strrpos_variation15.phpt?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/standard/tests/strings/strrpos_variation15.phpt diff -u php-src/ext/standard/tests/strings/strrpos_variation15.phpt:1.1.2.1 php-src/ext/standard/tests/strings/strrpos_variation15.phpt:1.1.2.2 --- php-src/ext/standard/tests/strings/strrpos_variation15.phpt:1.1.2.1 Fri Oct 5 18:31:50 2007 +++ php-src/ext/standard/tests/strings/strrpos_variation15.phpt Sun Feb 15 07:11:23 2009 @@ -94,23 +94,23 @@ bool(false) -- Iteration 3 -- -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 4 -- -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 5 -- -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 6 -- -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 7 -- -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 8 -- bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/bug43840.phpt?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/mbstring/tests/bug43840.phpt diff -u php-src/ext/mbstring/tests/bug43840.phpt:1.1.2.1 php-src/ext/mbstring/tests/bug43840.phpt:1.1.2.2 --- php-src/ext/mbstring/tests/bug43840.phpt:1.1.2.1 Wed Dec 3 13:03:55 2008 +++ php-src/ext/mbstring/tests/bug43840.phpt Sun Feb 15 07:11:23 2009 @@ -47,29 +47,29 @@ -- Offset is 22 -- --Multibyte String:-- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --ASCII String:-- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Offset is 53 -- --Multibyte String:-- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --ASCII String:-- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Offset is 54 -- --Multibyte String:-- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --ASCII String:-- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d -bool(false) \ No newline at end of file +Warning: mb_strpos(): Offset not contained in string in %s on line %d +bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/bug43841.phpt?r1=1.1.4.2&r2=1.1.4.3&diff_format=u Index: php-src/ext/mbstring/tests/bug43841.phpt diff -u php-src/ext/mbstring/tests/bug43841.phpt:1.1.4.2 php-src/ext/mbstring/tests/bug43841.phpt:1.1.4.3 --- php-src/ext/mbstring/tests/bug43841.phpt:1.1.4.2 Wed Dec 10 10:35:40 2008 +++ php-src/ext/mbstring/tests/bug43841.phpt Sun Feb 15 07:11:23 2009 @@ -1,6 +1,5 @@ --TEST-- Test mb_strrpos() function : mb_strrpos offset is byte count for negative values ---XFAIL-- --SKIPIF-- <?php extension_loaded('mbstring') or die('skip'); @@ -40,31 +39,31 @@ -- Offset is -25 -- Multibyte String: -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) ASCII String: mb_strrpos: -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) strrpos: -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Offset is -24 -- Multibyte String: -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) ASCII String: mb_strrpos: -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) strrpos: -Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Offset is -13 -- http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_stripos_variation3.phpt?r1=1.1.4.2&r2=1.1.4.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_stripos_variation3.phpt diff -u php-src/ext/mbstring/tests/mb_stripos_variation3.phpt:1.1.4.2 php-src/ext/mbstring/tests/mb_stripos_variation3.phpt:1.1.4.3 --- php-src/ext/mbstring/tests/mb_stripos_variation3.phpt:1.1.4.2 Wed Dec 3 13:03:55 2008 +++ php-src/ext/mbstring/tests/mb_stripos_variation3.phpt Sun Feb 15 07:11:23 2009 @@ -115,12 +115,12 @@ -- Iteration 3 -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 4 -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 5 -- @@ -128,12 +128,12 @@ -- Iteration 6 -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 7 -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 8 -- @@ -200,4 +200,4 @@ Warning: mb_stripos() expects parameter 3 to be long, resource given in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt?r1=1.2.2.2&r2=1.2.2.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt diff -u php-src/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt:1.2.2.2 php-src/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt:1.2.2.3 --- php-src/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt:1.2.2.2 Wed Dec 10 10:35:40 2008 +++ php-src/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt Sun Feb 15 07:11:23 2009 @@ -52,11 +52,11 @@ **-- Offset is: -10 --** -- ASCII String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 0 --** @@ -80,40 +80,40 @@ **-- Offset is: 30 --** -- ASCII String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 40 --** -- ASCII String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 50 --** -- ASCII String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 60 --** -- ASCII String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_stripos(): Offset not contained in string. in %s on line %d +Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_strpos_variation2.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_strpos_variation2.phpt diff -u php-src/ext/mbstring/tests/mb_strpos_variation2.phpt:1.1.2.2 php-src/ext/mbstring/tests/mb_strpos_variation2.phpt:1.1.2.3 --- php-src/ext/mbstring/tests/mb_strpos_variation2.phpt:1.1.2.2 Wed Dec 3 13:03:55 2008 +++ php-src/ext/mbstring/tests/mb_strpos_variation2.phpt Sun Feb 15 07:11:23 2009 @@ -135,12 +135,12 @@ -- Iteration 10 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 11 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 12 -- @@ -148,7 +148,7 @@ -- Iteration 13 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 14 -- @@ -156,17 +156,17 @@ -- Iteration 15 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 16 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 17 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 18 -- @@ -183,16 +183,16 @@ -- Iteration 22 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 23 -- -Warning: mb_strpos(): Empty delimiter. in %s on line %d +Warning: mb_strpos(): Empty delimiter in %s on line %d bool(false) -- Iteration 24 -- Warning: mb_strpos() expects parameter 2 to be string, resource given in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_strpos_variation3.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_strpos_variation3.phpt diff -u php-src/ext/mbstring/tests/mb_strpos_variation3.phpt:1.1.2.2 php-src/ext/mbstring/tests/mb_strpos_variation3.phpt:1.1.2.3 --- php-src/ext/mbstring/tests/mb_strpos_variation3.phpt:1.1.2.2 Wed Dec 3 13:03:55 2008 +++ php-src/ext/mbstring/tests/mb_strpos_variation3.phpt Sun Feb 15 07:11:23 2009 @@ -114,12 +114,12 @@ -- Iteration 3 -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 4 -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 5 -- @@ -127,12 +127,12 @@ -- Iteration 6 -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 7 -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -- Iteration 8 -- @@ -199,4 +199,4 @@ Warning: mb_strpos() expects parameter 3 to be long, resource given in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_strpos_variation5.phpt?r1=1.2.2.2&r2=1.2.2.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_strpos_variation5.phpt diff -u php-src/ext/mbstring/tests/mb_strpos_variation5.phpt:1.2.2.2 php-src/ext/mbstring/tests/mb_strpos_variation5.phpt:1.2.2.3 --- php-src/ext/mbstring/tests/mb_strpos_variation5.phpt:1.2.2.2 Wed Dec 3 13:03:56 2008 +++ php-src/ext/mbstring/tests/mb_strpos_variation5.phpt Sun Feb 15 07:11:23 2009 @@ -50,11 +50,11 @@ **-- Offset is: -10 --** -- ASCII String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 0 --** @@ -78,40 +78,40 @@ **-- Offset is: 30 --** -- ASCII String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 40 --** -- ASCII String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 50 --** -- ASCII String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) **-- Offset is: 60 --** -- ASCII String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) --Multibyte String -- -Warning: mb_strpos(): Offset not contained in string. in %s on line %d +Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt?r1=1.2.2.2&r2=1.2.2.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt diff -u php-src/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt:1.2.2.2 php-src/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt:1.2.2.3 --- php-src/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt:1.2.2.2 Wed Dec 10 10:35:40 2008 +++ php-src/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt Sun Feb 15 07:11:23 2009 @@ -116,27 +116,27 @@ -- Iteration 3 -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 4 -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 5 -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 6 -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 7 -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 8 -- @@ -203,4 +203,4 @@ Warning: mb_strripos() expects parameter 3 to be long, resource given in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt?r1=1.2.2.2&r2=1.2.2.3&diff_format=u Index: php-src/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt diff -u php-src/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt:1.2.2.2 php-src/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt:1.2.2.3 --- php-src/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt:1.2.2.2 Wed Dec 10 10:35:40 2008 +++ php-src/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt Sun Feb 15 07:11:23 2009 @@ -76,40 +76,40 @@ **-- Offset is: 30 --** -- ASCII String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) --Multibyte String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) **-- Offset is: 40 --** -- ASCII String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) --Multibyte String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) **-- Offset is: 50 --** -- ASCII String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) --Multibyte String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) **-- Offset is: 60 --** -- ASCII String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) --Multibyte String -- -Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/tests/mb_strrpos_variation3.phpt?r1=1.1.2.3&r2=1.1.2.4&diff_format=u Index: php-src/ext/mbstring/tests/mb_strrpos_variation3.phpt diff -u php-src/ext/mbstring/tests/mb_strrpos_variation3.phpt:1.1.2.3 php-src/ext/mbstring/tests/mb_strrpos_variation3.phpt:1.1.2.4 --- php-src/ext/mbstring/tests/mb_strrpos_variation3.phpt:1.1.2.3 Wed Dec 3 13:03:56 2008 +++ php-src/ext/mbstring/tests/mb_strrpos_variation3.phpt Sun Feb 15 07:11:23 2009 @@ -97,12 +97,12 @@ -- Iteration 3 -- -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 4 -- -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 5 -- @@ -113,7 +113,7 @@ -- Iteration 7 -- -Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d +Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) -- Iteration 8 -- @@ -150,4 +150,4 @@ -- Iteration 18 -- int(8) -Done \ No newline at end of file +Done http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.224.2.22.2.45&r2=1.224.2.22.2.46&diff_format=u Index: php-src/ext/mbstring/mbstring.c diff -u php-src/ext/mbstring/mbstring.c:1.224.2.22.2.45 php-src/ext/mbstring/mbstring.c:1.224.2.22.2.46 --- php-src/ext/mbstring/mbstring.c:1.224.2.22.2.45 Sat Feb 14 07:35:01 2009 +++ php-src/ext/mbstring/mbstring.c Sun Feb 15 07:11:23 2009 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.224.2.22.2.45 2009/02/14 07:35:01 moriyoshi Exp $ */ +/* $Id: mbstring.c,v 1.224.2.22.2.46 2009/02/15 07:11:23 moriyoshi Exp $ */ /* * PHP 4 Multibyte String module "mbstring" @@ -1867,7 +1867,7 @@ } if (needle.len <= 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty delimiter."); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter"); RETURN_FALSE; } n = mbfl_strpos(&haystack, &needle, 0, 0); @@ -1976,7 +1976,7 @@ } if(!needle.len){ - php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty delimiter."); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter"); RETURN_FALSE; } @@ -2095,7 +2095,7 @@ } if (needle.len <= 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty substring."); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty substring"); RETURN_FALSE; } http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.7.2.5.2.5&r2=1.7.2.5.2.6&diff_format=u Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.7.2.5.2.5 php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.7.2.5.2.6 --- php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.7.2.5.2.5 Sat Feb 14 08:16:21 2009 +++ php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c Sun Feb 15 07:11:23 2009 @@ -778,7 +778,7 @@ for (;;) { pc->found_pos++; p = h; - m = pc->needle.buffer; + m = (int *)pc->needle.buffer; n = pc->needle_pos - 1; while (n > 0 && *p == *m) { n--; @@ -857,87 +857,203 @@ int offset, int reverse) { - int n, result, negative_offset = 0; - unsigned char *p; - mbfl_convert_filter *filter; - struct collector_strpos_data pc; + int result; + mbfl_string _haystack_u8, _needle_u8; + const mbfl_string *haystack_u8, *needle_u8; + const unsigned char *u8_tbl; - if (haystack == NULL || needle == NULL) { + if (haystack == NULL || haystack->val == NULL || needle == NULL || needle->val == NULL) { return -8; } - /* needle is converted into wchar */ - mbfl_wchar_device_init(&pc.needle); - filter = mbfl_convert_filter_new( - needle->no_encoding, - mbfl_no_encoding_wchar, - mbfl_wchar_device_output, 0, &pc.needle); - if (filter == NULL) { - return -4; + + { + const mbfl_encoding *u8_enc; + u8_enc = mbfl_no2encoding(mbfl_no_encoding_utf8); + if (u8_enc == NULL || u8_enc->mblen_table == NULL) { + return -8; + } + u8_tbl = u8_enc->mblen_table; } - p = needle->val; - n = needle->len; - if (p != NULL) { - while (n > 0) { - if ((*filter->filter_function)(*p++, filter) < 0) { - break; - } - n--; + + if (haystack->no_encoding != mbfl_no_encoding_utf8) { + mbfl_string_init(&_haystack_u8); + haystack_u8 = mbfl_convert_encoding(haystack, &_haystack_u8, mbfl_no_encoding_utf8); + if (haystack_u8 == NULL) { + result = -4; + goto out; } - } - mbfl_convert_filter_flush(filter); - mbfl_convert_filter_delete(filter); - pc.needle_len = pc.needle.pos; - if (pc.needle.buffer == NULL) { - return -4; - } - if (pc.needle_len <= 0) { - mbfl_wchar_device_clear(&pc.needle); - return -2; - } - /* initialize filter and collector data */ - filter = mbfl_convert_filter_new( - haystack->no_encoding, - mbfl_no_encoding_wchar, - collector_strpos, 0, &pc); - if (filter == NULL) { - mbfl_wchar_device_clear(&pc.needle); - return -4; + } else { + haystack_u8 = haystack; } - if (offset < 0) { - negative_offset = -offset - pc.needle_len; - if (negative_offset < 0) { - negative_offset = 0; + if (needle->no_encoding != mbfl_no_encoding_utf8) { + mbfl_string_init(&_needle_u8); + needle_u8 = mbfl_convert_encoding(needle, &_needle_u8, mbfl_no_encoding_utf8); + if (needle_u8 == NULL) { + result = -4; + goto out; } - offset = 0; + } else { + needle_u8 = needle; } - pc.start = offset; - pc.output = 0; - pc.needle_pos = 0; - pc.found_pos = 0; - pc.matched_pos = -1; + if (needle_u8->len < 1) { + result = -8; + goto out; + } - /* feed data */ - p = haystack->val; - n = haystack->len - negative_offset; - if (p != NULL) { - while (n > 0) { - if ((*filter->filter_function)(*p++, filter) < 0) { - pc.matched_pos = -4; - break; + result = -1; + if (haystack_u8->len < needle_u8->len) { + goto out; + } + + if (!reverse) { + unsigned int jtbl[1 << (sizeof(unsigned char) * 8)]; + unsigned int needle_u8_len = needle_u8->len; + unsigned int i; + const unsigned char *p, *q, *e; + const unsigned char *haystack_u8_val = haystack_u8->val, + *needle_u8_val = needle_u8->val; + for (i = 0; i < sizeof(jtbl) / sizeof(*jtbl); ++i) { + jtbl[i] = needle_u8_len + 1; + } + for (i = 0; i < needle_u8_len - 1; ++i) { + jtbl[needle_u8_val[i]] = needle_u8_len - i; + } + e = haystack_u8_val + haystack_u8->len; + p = haystack_u8_val; + while (--offset >= 0) { + if (p >= e) { + result = -16; + goto out; } - if (pc.matched_pos >= 0 && !reverse) { - break; + p += u8_tbl[*p]; + } + p += needle_u8_len; + if (p > e) { + goto out; + } + while (p <= e) { + const unsigned char *pv = p; + q = needle_u8_val + needle_u8_len; + for (;;) { + if (q == needle_u8_val) { + result = 0; + while (p > haystack_u8_val) { + unsigned char c = *--p; + if (c < 0x80) { + ++result; + } else if ((c & 0xc0) != 0x80) { + ++result; + } + } + goto out; + } + if (*--q != *--p) { + break; + } + } + p += jtbl[*p]; + if (p <= pv) { + p = pv + 1; + } + } + } else { + unsigned int jtbl[1 << (sizeof(unsigned char) * 8)]; + unsigned int needle_u8_len = needle_u8->len, needle_len = 0; + unsigned int i; + const unsigned char *p, *e, *q, *qe; + const unsigned char *haystack_u8_val = haystack_u8->val, + *needle_u8_val = needle_u8->val; + for (i = 0; i < sizeof(jtbl) / sizeof(*jtbl); ++i) { + jtbl[i] = needle_u8_len; + } + for (i = needle_u8_len - 1; i > 0; --i) { + unsigned char c = needle_u8_val[i]; + jtbl[c] = i; + if (c < 0x80) { + ++needle_len; + } else if ((c & 0xc0) != 0x80) { + ++needle_len; + } + } + { + unsigned char c = needle_u8_val[0]; + if (c < 0x80) { + ++needle_len; + } else if ((c & 0xc0) != 0x80) { + ++needle_len; + } + } + e = haystack_u8_val; + p = e + haystack_u8->len; + qe = needle_u8_val + needle_u8_len; + if (offset < 0) { + if (-offset > needle_len) { + offset += needle_len; + while (offset < 0) { + unsigned char c; + if (p <= e) { + result = -16; + goto out; + } + c = *(--p); + if (c < 0x80) { + ++offset; + } else if ((c & 0xc0) != 0x80) { + ++offset; + } + } + } + } else { + const unsigned char *ee = haystack_u8_val + haystack_u8->len; + while (--offset >= 0) { + if (e >= ee) { + result = -16; + goto out; + } + e += u8_tbl[*e]; + } + } + if (p < e + needle_u8_len) { + goto out; + } + p -= needle_u8_len; + while (p >= e) { + const unsigned char *pv = p; + q = needle_u8_val; + for (;;) { + if (q == qe) { + result = 0; + p -= needle_u8_len; + while (p > haystack_u8_val) { + unsigned char c = *--p; + if (c < 0x80) { + ++result; + } else if ((c & 0xc0) != 0x80) { + ++result; + } + } + goto out; + } + if (*q != *p) { + break; + } + ++p, ++q; + } + p -= jtbl[*p]; + if (p >= pv) { + p = pv - 1; } - n--; } } - mbfl_convert_filter_flush(filter); - result = pc.matched_pos; - mbfl_convert_filter_delete(filter); - mbfl_wchar_device_clear(&pc.needle); - +out: + if (haystack_u8 == &_haystack_u8) { + mbfl_string_clear(&_haystack_u8); + } + if (needle_u8 == &_needle_u8) { + mbfl_string_clear(&_needle_u8); + } return result; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php