From f2b796e7c76e43b10258b6a87bd84884fa879984 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 15 Jan 2014 22:45:20 +0200 Subject: str.format: Don't assume that '}' immediately follows '{', skip insides. That at least makes stuff like "{:x}".format(1) to produce not completely broken output. --- py/objstr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'py/objstr.c') diff --git a/py/objstr.c b/py/objstr.c index 0621a8df75..7c1be50cc0 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -270,7 +270,8 @@ mp_obj_t str_format(int n_args, const mp_obj_t *args) { str++; if (*str == '{') { vstr_add_char(vstr, '{'); - } else if (*str == '}') { + } else { + while (*str != '}') str++; if (arg_i >= n_args) { nlr_jump(mp_obj_new_exception_msg(MP_QSTR_IndexError, "tuple index out of range")); } -- cgit v1.2.3