proc main()
{
var badUtf = new PackUbyte(6);
badUtf[0] = '1';
badUtf[1] = ' ';
badUtf[2] = 0x92; // Illegal UTF-8 char
badUtf[3] = ' ';
badUtf[4] = '2';
badUtf[5] = '\n';
var f = new File("badutf8d.txt", "wb");
f.write(badUtf);
f.close();
// "r+" so we can delete it when we are don
f = new File("badutf8d.txt", "r+");
try {
var a = f.read("2I");
"", a, '\n';
}
catch (e) {
if (e == oadl::UTF8Check) {
"Caught UTF8Check as expected\n";
f.close("delete");
oadl::halt();
}
}
"Failed to catch UTF8check\n";
}