1--TEST-- 2iconv_substr() with out of bounds offset 3--SKIPIF-- 4<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?> 5--FILE-- 6<?php 7 8var_dump(iconv_substr("foo", 3)); 9var_dump(iconv_substr("foo", -3)); 10var_dump(iconv_substr("foo", 4)); 11var_dump(iconv_substr("foo", -4)); 12var_dump(iconv_substr("äöü", 3)); 13var_dump(iconv_substr("äöü", -3)); 14var_dump(iconv_substr("äöü", 4)); 15var_dump(iconv_substr("äöü", -4)); 16var_dump(iconv_substr("foo", 0, 3)); 17var_dump(iconv_substr("foo", 0, -3)); 18var_dump(iconv_substr("foo", 0, 4)); 19var_dump(iconv_substr("foo", 0, -4)); 20var_dump(iconv_substr("äöü", 0, 3)); 21var_dump(iconv_substr("äöü", 0, -3)); 22var_dump(iconv_substr("äöü", 0, 4)); 23var_dump(iconv_substr("äöü", 0, -4)); 24var_dump(iconv_substr("äöü", -4, 1)); 25var_dump(iconv_substr("äöü", -4, -1)); 26var_dump(iconv_substr("äöü", 2, -2)); 27 28?> 29--EXPECT-- 30string(0) "" 31string(3) "foo" 32string(0) "" 33string(3) "foo" 34string(0) "" 35string(6) "äöü" 36string(0) "" 37string(6) "äöü" 38string(3) "foo" 39string(0) "" 40string(3) "foo" 41string(0) "" 42string(6) "äöü" 43string(0) "" 44string(6) "äöü" 45string(0) "" 46string(2) "ä" 47string(4) "äö" 48string(0) "" 49