summaryrefslogtreecommitdiff
path: root/py/objstr.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-07-30 12:46:47 +1000
committerDamien George <damien.p.george@gmail.com>2018-07-30 12:46:47 +1000
commitaec6fa9160f786c032271de8d9edd8bba050516e (patch)
tree1433d2412de07f057f6ee73f0ce01b8125a1d28d /py/objstr.c
parent571295d090d1eec40b45a88c2c5f54ceaf3c4e15 (diff)
py/objstr: In format error message, use common string with %s for type.
This error message did not consume all of its variable args, a bug introduced long ago in baf6f14deb567ab626c1b05213af346108f41700. By fixing it to use %s (instead of keeping the string as-is and deleting the last arg) the same error message string is now reused three times in this format function and gives a code size reduction of around 130 bytes. It also now gives a better error message when a non-string is passed in as an argument to format, eg '{:d}'.format([]).
Diffstat (limited to 'py/objstr.c')
-rw-r--r--py/objstr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/py/objstr.c b/py/objstr.c
index da925234e..d8c2bd117 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -1327,7 +1327,7 @@ STATIC vstr_t mp_obj_str_format_helper(const char *str, const char *top, int *ar
terse_str_format_value_error();
} else {
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError,
- "unknown format code '%c' for object of type 'float'",
+ "unknown format code '%c' for object of type '%s'",
type, mp_obj_get_type_str(arg)));
}
}
@@ -1363,7 +1363,7 @@ STATIC vstr_t mp_obj_str_format_helper(const char *str, const char *top, int *ar
terse_str_format_value_error();
} else {
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError,
- "unknown format code '%c' for object of type 'str'",
+ "unknown format code '%c' for object of type '%s'",
type, mp_obj_get_type_str(arg)));
}
}