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/obj.h | |
parent | 88864587f5af292d7f86aceb6bf40e8331e9a8d6 (diff) |
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/obj.h')
-rw-r--r-- | py/obj.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -792,6 +792,11 @@ mp_obj_t mp_obj_new_int_from_ull(unsigned long long val); // this must return a mp_obj_t mp_obj_new_str(const char *data, size_t len); mp_obj_t mp_obj_new_str_via_qstr(const char *data, size_t len); mp_obj_t mp_obj_new_str_from_vstr(vstr_t *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); // only use when vstr is already known to be utf-8 encoded +#else +#define mp_obj_new_str_from_utf8_vstr mp_obj_new_str_from_vstr +#endif mp_obj_t mp_obj_new_bytes_from_vstr(vstr_t *vstr); mp_obj_t mp_obj_new_bytes(const byte *data, size_t len); mp_obj_t mp_obj_new_bytearray(size_t n, const void *items); |