Improve BAD ENUM VALUE message in fmt #1496

This commit is contained in:
gingerBill
2022-02-15 16:25:28 +00:00
parent d45ff0694d
commit 21864d8d51

View File

@@ -1065,11 +1065,13 @@ fmt_enum :: proc(fi: ^Info, v: any, verb: rune) {
case 'i', 'd', 'f':
fmt_arg(fi, any{v.data, runtime.type_info_base(e.base).id}, verb)
case 's', 'v':
str, ok := enum_value_to_string(v)
if !ok {
str = "%!(BAD ENUM VALUE)"
if str, ok := enum_value_to_string(v); ok {
io.write_string(fi.writer, str)
} else {
io.write_string(fi.writer, "%!(BAD ENUM VALUE=")
fmt_arg(fi, any{v.data, runtime.type_info_base(e.base).id}, 'i')
io.write_string(fi.writer, ")")
}
io.write_string(fi.writer, str)
}
}
}