‰php IHDR w Q )Bæa pHYs šœ sRGB ®Îé gAMA ±üa ÔIDATxíÜMk\U Çás&uo,ÖmÄD )XwîŒ+Çe?‰ºtw.“oàWpå§;—³°QHZnw¢`gaiJ’9Þˆ‰ÑÒÌŸç™û¾ýÍaî=·nlŽ[ ʨ G܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î ú¸·y H†¯@E7jÍ 1j+OF¥–€‹Rg}Ü«‘;@’E™Öa¹±ùáÓ~ ÿj`Ùuû'ož> ÙjÝ- $˜_§q?¾q¸S XzG'åóay
files >> /opt/php-7.0.1/ext/mbstring/tests/ |
files >> //opt/php-7.0.1/ext/mbstring/tests/bug45923.phpt |
--TEST-- Bug #45923 (mb_st[r]ripos() offset not handled correctly) --SKIPIF-- <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> --INI-- mbstring.internal_encoding=UTF-8 --FILE-- <?php var_dump(strpos("abc abc abc", "abc", 0)); var_dump(strpos("abc abc abc", "abc", 3)); var_dump(strpos("abc abc abc", "abc", 6)); var_dump(strpos("abc abc abc", "abc", 9)); var_dump(strpos("abc abc abc", "abc", 11)); var_dump(strpos("abc abc abc", "abc", 12)); var_dump(strpos("abc abc abc", "abc", -1)); var_dump(strpos("abc abc abc", "abc", -3)); var_dump(strpos("abc abc abc", "abc", -6)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 0)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 3)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 6)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 9)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 11)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 12)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -1)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -3)); var_dump(mb_strpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -6)); var_dump(stripos("abc abc abc", "abc", 0)); var_dump(stripos("abc abc abc", "abc", 3)); var_dump(stripos("abc abc abc", "abc", 6)); var_dump(stripos("abc abc abc", "abc", 9)); var_dump(stripos("abc abc abc", "abc", 11)); var_dump(stripos("abc abc abc", "abc", 12)); var_dump(stripos("abc abc abc", "abc", -1)); var_dump(stripos("abc abc abc", "abc", -3)); var_dump(stripos("abc abc abc", "abc", -6)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 0)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 3)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 6)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 9)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 11)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 12)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -1)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -3)); var_dump(mb_stripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -6)); var_dump(strrpos("abc abc abc", "abc", 0)); var_dump(strrpos("abc abc abc", "abc", 3)); var_dump(strrpos("abc abc abc", "abc", 6)); var_dump(strrpos("abc abc abc", "abc", 9)); var_dump(strrpos("abc abc abc", "abc", 11)); var_dump(strrpos("abc abc abc", "abc", 12)); var_dump(strrpos("abc abc abc", "abc", -1)); var_dump(strrpos("abc abc abc", "abc", -3)); var_dump(strrpos("abc abc abc", "abc", -6)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 0)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 3)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 6)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 9)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 11)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 12)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -1)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -3)); var_dump(mb_strrpos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -6)); var_dump(strripos("abc abc abc", "abc", 0)); var_dump(strripos("abc abc abc", "abc", 3)); var_dump(strripos("abc abc abc", "abc", 6)); var_dump(strripos("abc abc abc", "abc", 9)); var_dump(strripos("abc abc abc", "abc", 11)); var_dump(strripos("abc abc abc", "abc", 12)); var_dump(strripos("abc abc abc", "abc", -1)); var_dump(strripos("abc abc abc", "abc", -3)); var_dump(strripos("abc abc abc", "abc", -6)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 0)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 3)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 6)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 9)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 11)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", 12)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -1)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -3)); var_dump(mb_strripos("â—â—‹â—† â—â—‹â—† â—â—‹â—†", "â—â—‹â—†", -6)); ?> --EXPECTF-- int(0) int(4) int(8) bool(false) bool(false) Warning: strpos(): Offset not contained in string in %s on line %d bool(false) Warning: strpos(): Offset not contained in string in %s on line %d bool(false) Warning: strpos(): Offset not contained in string in %s on line %d bool(false) Warning: strpos(): Offset not contained in string in %s on line %d bool(false) int(0) int(4) int(8) bool(false) bool(false) Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) Warning: mb_strpos(): Offset not contained in string in %s on line %d bool(false) int(0) int(4) int(8) bool(false) bool(false) Warning: stripos(): Offset not contained in string in %s on line %d bool(false) Warning: stripos(): Offset not contained in string in %s on line %d bool(false) Warning: stripos(): Offset not contained in string in %s on line %d bool(false) Warning: stripos(): Offset not contained in string in %s on line %d bool(false) int(0) int(4) int(8) bool(false) bool(false) Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) Warning: mb_stripos(): Offset not contained in string in %s on line %d bool(false) int(8) int(8) int(8) bool(false) bool(false) Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) int(8) int(8) int(4) int(8) int(8) int(8) bool(false) bool(false) Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d bool(false) int(8) int(8) int(4) int(8) int(8) int(8) bool(false) bool(false) Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) int(8) int(8) int(4) int(8) int(8) int(8) bool(false) bool(false) Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d bool(false) int(8) int(8) int(4)ß yôÊá½~ŒorÀ5ÖJ™={þÁEÇêe¾uç£Qk ®•ᯘG{÷?ù»ã+—]üôçƒÉÍ×ןô?wûM3X^¶ÚæŒ>{´7Ù¾ì´Kã>èo²ÎnÝ\ÿªÊj¿y· ðR£õãg/î=ÞÿfúOçÖr·o×NVÊv¿ú~ÿY+ ü¿NGêu÷ø·Ã®›þë¹HWŠûyëwÆ[eQ¶Ê¨¾SÚbÖ>öÍËÇ þ³>ä}Gçmx[o[<ÞÚ{ðýŸÏ®_ÅïqF–ÚÛvM IEND®B`‚