return -1;
}
+ if (str_len == 0) {
+ php_error_docref(NULL, E_WARNING, "Empty string");
+ return -1;
+ }
+
{
long orig_illegalchars = MBSTRG(illegalchars);
MBSTRG(illegalchars) = 0;
<?php
ini_set('internal_encoding', 'utf-8');
for($ch = 1; $ch < 80000; $ch++) {
- if ($ch !== mb_ord(mb_chr($ch))) echo "ERROR($ch)\n";
+ $str = mb_chr($ch);
+ if (false === $str) {
+ echo "ERROR($ch)\n";
+ continue;
+ }
+ if ($ch != mb_ord($str)) {
+ echo "REAL ERROR($ch)\n";
+ }
}
echo 'OK';
--EXPECTF--
mb_ord("\u{d800}", "pass"),
mb_ord("\u{d800}", "jis"),
mb_ord("\u{d800}", "cp50222"),
- mb_ord("\u{d800}", "utf-7")
+ mb_ord("\u{d800}", "utf-7"),
+ mb_ord("")
);
?>
--EXPECTF--
Warning: mb_ord(): Unsupported encoding "cp50222" %s 13
Warning: mb_ord(): Unsupported encoding "utf-7" %s 14
+
+Warning: mb_ord(): Empty string in %s on line %d
+bool(false)
bool(false)
bool(false)
bool(false)