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 /stmhal/input.c | |
parent | 57aebe171459fd599f8d430c1ea1660ed307360c (diff) | |
download | micropython-0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2.tar.gz micropython-0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2.zip |
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 'stmhal/input.c')
-rw-r--r-- | stmhal/input.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/stmhal/input.c b/stmhal/input.c index b735ca2492..b1c8c1f78f 100644 --- a/stmhal/input.c +++ b/stmhal/input.c @@ -39,9 +39,7 @@ STATIC mp_obj_t mp_builtin_input(uint n_args, const mp_obj_t *args) { if (line.len == 0 && ret == CHAR_CTRL_D) { nlr_raise(mp_obj_new_exception(&mp_type_EOFError)); } - mp_obj_t o = mp_obj_new_str(line.buf, line.len, false); - vstr_clear(&line); - return o; + return mp_obj_new_str_from_vstr(&mp_type_str, &line); } MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_builtin_input_obj, 0, 1, mp_builtin_input); |