diff options
author | Jim Mussared <jim.mussared@gmail.com> | 2022-08-23 18:35:37 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2022-08-26 16:44:35 +1000 |
commit | 3a910b15650636efc58bce48cc1bfa0debfd375c (patch) | |
tree | d93e2e0dcb591a1724424f6ed5e07a6bb251d67a /py/objstr.c | |
parent | 88864587f5af292d7f86aceb6bf40e8331e9a8d6 (diff) | |
download | micropython-3a910b15650636efc58bce48cc1bfa0debfd375c.tar.gz micropython-3a910b15650636efc58bce48cc1bfa0debfd375c.zip |
py/objstr: Optimise mp_obj_new_str_from_vstr for known-safe strings.
The new `mp_obj_new_str_from_utf8_vstr` can be used when you know you
already have a unicode-safe string.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'py/objstr.c')
-rw-r--r-- | py/objstr.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/py/objstr.c b/py/objstr.c index ab1229ad66..5a62237516 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -2256,6 +2256,13 @@ mp_obj_t mp_obj_new_str_from_vstr(vstr_t *vstr) { return mp_obj_new_str_type_from_vstr(&mp_type_str, vstr); } +#if MICROPY_PY_BUILTINS_STR_UNICODE && MICROPY_PY_BUILTINS_STR_UNICODE_CHECK +mp_obj_t mp_obj_new_str_from_utf8_vstr(vstr_t *vstr) { + // bypasses utf8_check. + return mp_obj_new_str_type_from_vstr(&mp_type_str, vstr); +} +#endif // MICROPY_PY_BUILTINS_STR_UNICODE && MICROPY_PY_BUILTINS_STR_UNICODE_CHECK + mp_obj_t mp_obj_new_bytes_from_vstr(vstr_t *vstr) { return mp_obj_new_str_type_from_vstr(&mp_type_bytes, vstr); } |