aboutsummaryrefslogtreecommitdiff
path: root/py/frozenmod.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-04-17 12:37:00 +0100
committerDamien George <damien.p.george@gmail.com>2016-04-17 12:37:00 +0100
commit31480fb91b69819ed9d37d8ffc1160cb03fe81ea (patch)
tree76efbde0a8327757204e2d8c708ca7569626a33a /py/frozenmod.c
parent5e247a5192548630342576adf8f58c6ad6f59bcb (diff)
py/frozenmod: Pass the source name of the frozen module to the lexer.
This allows for better error messages, since the name of the file (sans .py) can now be printed when an exception occurs within a frozen script.
Diffstat (limited to 'py/frozenmod.c')
-rw-r--r--py/frozenmod.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/py/frozenmod.c b/py/frozenmod.c
index 92afdb9a5..18beb0f8e 100644
--- a/py/frozenmod.c
+++ b/py/frozenmod.c
@@ -50,7 +50,8 @@ STATIC mp_lexer_t *mp_find_frozen_str(const char *str, size_t len) {
for (int i = 0; *name != 0; i++) {
size_t l = strlen(name);
if (l == len && !memcmp(str, name, l)) {
- mp_lexer_t *lex = MICROPY_MODULE_FROZEN_LEXER(MP_QSTR_, mp_frozen_str_content + offset, mp_frozen_str_sizes[i], 0);
+ qstr source = qstr_from_strn(name, l);
+ mp_lexer_t *lex = MICROPY_MODULE_FROZEN_LEXER(source, mp_frozen_str_content + offset, mp_frozen_str_sizes[i], 0);
return lex;
}
name += l + 1;