diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-06-28 23:14:30 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-06-28 23:15:29 +0300 |
commit | 9e215fa4c2773b7a4102aec4203c9bf74aa0eccc (patch) | |
tree | 45201e201128c5be451bb292699f72e5395d698d /py | |
parent | a62da515af72c67cbe74efbd6a74cd0a1e7d935e (diff) | |
download | micropython-9e215fa4c2773b7a4102aec4203c9bf74aa0eccc.tar.gz micropython-9e215fa4c2773b7a4102aec4203c9bf74aa0eccc.zip |
py: Make unichar_charlen() accept/return machine_uint_t.
Diffstat (limited to 'py')
-rw-r--r-- | py/builtin.c | 2 | ||||
-rw-r--r-- | py/misc.h | 2 | ||||
-rw-r--r-- | py/objstr.c | 2 | ||||
-rw-r--r-- | py/objstrunicode.c | 2 | ||||
-rw-r--r-- | py/unicode.c | 6 |
5 files changed, 7 insertions, 7 deletions
diff --git a/py/builtin.c b/py/builtin.c index 9986b90d3f..f4bbe0e237 100644 --- a/py/builtin.c +++ b/py/builtin.c @@ -372,7 +372,7 @@ STATIC mp_obj_t mp_builtin_ord(mp_obj_t o_in) { uint len; const char *str = mp_obj_str_get_data(o_in, &len); #if MICROPY_PY_BUILTINS_STR_UNICODE - uint charlen = unichar_charlen(str, len); + machine_uint_t charlen = unichar_charlen(str, len); if (charlen == 1) { if (MP_OBJ_IS_STR(o_in) && UTF8_IS_NONASCII(*str)) { machine_int_t ord = *str++ & 0x7F; @@ -100,7 +100,7 @@ bool unichar_isupper(unichar c); bool unichar_islower(unichar c); unichar unichar_tolower(unichar c); unichar unichar_toupper(unichar c); -uint unichar_charlen(const char *str, uint len); // TODO this should return machine_uint_t +machine_uint_t unichar_charlen(const char *str, machine_uint_t len); #define UTF8_IS_NONASCII(ch) ((ch) & 0x80) #define UTF8_IS_CONT(ch) (((ch) & 0xC0) == 0x80) diff --git a/py/objstr.c b/py/objstr.c index a4749369d7..b13517b63d 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -1448,7 +1448,7 @@ STATIC mp_obj_t str_count(uint n_args, const mp_obj_t *args) { // if needle_len is zero then we count each gap between characters as an occurrence if (needle_len == 0) { - return MP_OBJ_NEW_SMALL_INT((machine_uint_t)unichar_charlen((const char*)start, end - start) + 1); + return MP_OBJ_NEW_SMALL_INT(unichar_charlen((const char*)start, end - start) + 1); } // count the occurrences diff --git a/py/objstrunicode.c b/py/objstrunicode.c index 35cc73bd84..d96ce0a552 100644 --- a/py/objstrunicode.c +++ b/py/objstrunicode.c @@ -106,7 +106,7 @@ STATIC mp_obj_t uni_unary_op(int op, mp_obj_t self_in) { case MP_UNARY_OP_BOOL: return MP_BOOL(str_len != 0); case MP_UNARY_OP_LEN: - return MP_OBJ_NEW_SMALL_INT((machine_int_t)unichar_charlen((const char *)str_data, str_len)); + return MP_OBJ_NEW_SMALL_INT(unichar_charlen((const char *)str_data, str_len)); default: return MP_OBJ_NULL; // op not supported } diff --git a/py/unicode.c b/py/unicode.c index a91e08078e..d69e81c8e0 100644 --- a/py/unicode.c +++ b/py/unicode.c @@ -107,11 +107,11 @@ machine_uint_t utf8_ptr_to_index(const char *s, const char *ptr) { return i; } -// TODO: Rename to str_charlen; return machine_uint_t -uint unichar_charlen(const char *str, uint len) +// TODO: Rename to str_charlen +machine_uint_t unichar_charlen(const char *str, machine_uint_t len) { #if MICROPY_PY_BUILTINS_STR_UNICODE - uint charlen = 0; + machine_uint_t charlen = 0; for (const char *top = str + len; str < top; ++str) { if (!UTF8_IS_CONT(*str)) { ++charlen; |