diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-13 15:01:28 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-13 15:01:28 +0100 |
commit | 0e4ba258349ae94a18fb4e56dee7e1d4cc1ba3f0 (patch) | |
tree | 99111530839d24ba5a3ca80fbeb4517011f68431 /py/obj.c | |
parent | 73496fbbe4b787a5b4255d6ae98c20255878e012 (diff) |
py: Fix SyntaxError exception: don't have a block name, so pass NULL.
Diffstat (limited to 'py/obj.c')
-rw-r--r-- | py/obj.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -55,10 +55,17 @@ void mp_obj_print_exception(mp_obj_t exc) { printf("Traceback (most recent call last):\n"); for (int i = n - 3; i >= 0; i -= 3) { #if MICROPY_ENABLE_SOURCE_LINE - printf(" File \"%s\", line %d, in %s\n", qstr_str(values[i]), (int)values[i + 1], qstr_str(values[i + 2])); + printf(" File \"%s\", line %d", qstr_str(values[i]), (int)values[i + 1]); #else - printf(" File \"%s\", in %s\n", qstr_str(values[i]), qstr_str(values[i + 2])); + printf(" File \"%s\"", qstr_str(values[i])); #endif + // the block name can be NULL if it's unknown + qstr block = values[i + 2]; + if (block == MP_QSTR_NULL) { + printf("\n"); + } else { + printf(", in %s\n", qstr_str(block)); + } } } } |