summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--py/obj.h1
-rw-r--r--py/objstr.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/py/obj.h b/py/obj.h
index 86952565c..82f67fad4 100644
--- a/py/obj.h
+++ b/py/obj.h
@@ -971,6 +971,7 @@ mp_obj_t mp_obj_new_int_from_str_len(const char **str, size_t len, bool neg, uns
mp_obj_t mp_obj_new_int_from_ll(long long val); // this must return a multi-precision integer object (or raise an overflow exception)
mp_obj_t mp_obj_new_int_from_ull(unsigned long long val); // this must return a multi-precision integer object (or raise an overflow exception)
mp_obj_t mp_obj_new_str(const char *data, size_t len); // will check utf-8 (raises UnicodeError)
+mp_obj_t mp_obj_new_str_from_cstr(const char *str); // // accepts null-terminated string, will check utf-8 (raises UnicodeError)
mp_obj_t mp_obj_new_str_via_qstr(const char *data, size_t len); // input data must be valid utf-8
mp_obj_t mp_obj_new_str_from_vstr(vstr_t *vstr); // will check utf-8 (raises UnicodeError)
#if MICROPY_PY_BUILTINS_STR_UNICODE && MICROPY_PY_BUILTINS_STR_UNICODE_CHECK
diff --git a/py/objstr.c b/py/objstr.c
index c7e4ebf53..346a6259f 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -2308,6 +2308,10 @@ mp_obj_t mp_obj_new_str(const char *data, size_t len) {
}
}
+mp_obj_t mp_obj_new_str_from_cstr(const char *str) {
+ return mp_obj_new_str(str, strlen(str));
+}
+
mp_obj_t mp_obj_str_intern(mp_obj_t str) {
GET_STR_DATA_LEN(str, data, len);
return mp_obj_new_str_via_qstr((const char *)data, len);