diff options
author | Damien George <damien.p.george@gmail.com> | 2015-01-28 23:43:01 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-01-28 23:43:01 +0000 |
commit | 0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2 (patch) | |
tree | 7285c3f452efdfce8c0ecb302bbd0e2efcca0c15 /py/compile.c | |
parent | 57aebe171459fd599f8d430c1ea1660ed307360c (diff) |
py: Change vstr so that it doesn't null terminate buffer by default.
This cleans up vstr so that it's a pure "variable buffer", and the user
can decide whether they need to add a terminating null byte. In most
places where vstr is used, the vstr did not need to be null terminated
and so this patch saves code size, a tiny bit of RAM, and makes vstr
usage more efficient. When null termination is needed it must be
done explicitly using vstr_null_terminate.
Diffstat (limited to 'py/compile.c')
-rw-r--r-- | py/compile.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/py/compile.c b/py/compile.c index 85f5dab83..8e4723f23 100644 --- a/py/compile.c +++ b/py/compile.c @@ -555,7 +555,7 @@ STATIC void cpython_c_tuple(compiler_t *comp, mp_parse_node_t pn, mp_parse_node_ } else { vstr_printf(vstr, ")"); } - EMIT_ARG(load_const_verbatim_str, vstr_str(vstr)); + EMIT_ARG(load_const_verbatim_strn, vstr_str(vstr), vstr_len(vstr)); vstr_free(vstr); } else { if (!MP_PARSE_NODE_IS_NULL(pn)) { @@ -1538,7 +1538,7 @@ STATIC void compile_import_from(compiler_t *comp, mp_parse_node_struct_t *pns) { // build the "fromlist" tuple #if MICROPY_EMIT_CPYTHON - EMIT_ARG(load_const_verbatim_str, "('*',)"); + EMIT_ARG(load_const_verbatim_strn, "('*',)", 6); #else EMIT_ARG(load_const_str, MP_QSTR__star_, false); EMIT_ARG(build_tuple, 1); @@ -1576,7 +1576,7 @@ STATIC void compile_import_from(compiler_t *comp, mp_parse_node_struct_t *pns) { vstr_printf(vstr, ","); } vstr_printf(vstr, ")"); - EMIT_ARG(load_const_verbatim_str, vstr_str(vstr)); + EMIT_ARG(load_const_verbatim_strn, vstr_str(vstr), vstr_len(vstr)); vstr_free(vstr); } #else |