diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-15 23:10:00 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-15 23:10:00 +0100 |
commit | ee01411036f10d78235cc0549bd4a0507cf7bfc6 (patch) | |
tree | 569ce2450afac764ae30eb6b0c851cc842b3b8b8 /py | |
parent | 897fe0c0d0e29875cfa32939237c9a6255c5d044 (diff) | |
download | micropython-ee01411036f10d78235cc0549bd4a0507cf7bfc6.tar.gz micropython-ee01411036f10d78235cc0549bd4a0507cf7bfc6.zip |
py: Add len(bytes).
Diffstat (limited to 'py')
-rw-r--r-- | py/obj.c | 2 | ||||
-rw-r--r-- | py/objstr.c | 3 |
2 files changed, 3 insertions, 2 deletions
@@ -320,7 +320,7 @@ uint mp_get_index(const mp_obj_type_t *type, machine_uint_t len, mp_obj_t index, // may return MP_OBJ_NULL mp_obj_t mp_obj_len_maybe(mp_obj_t o_in) { - if (MP_OBJ_IS_STR(o_in)) { + if (MP_OBJ_IS_STR(o_in) || MP_OBJ_IS_TYPE(o_in, &mp_type_bytes)) { return MP_OBJ_NEW_SMALL_INT((machine_int_t)mp_obj_str_get_len(o_in)); } else { mp_obj_type_t *type = mp_obj_get_type(o_in); diff --git a/py/objstr.c b/py/objstr.c index 0edc49909e..7de42b6e9e 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -1485,7 +1485,8 @@ uint mp_obj_str_get_hash(mp_obj_t self_in) { } uint mp_obj_str_get_len(mp_obj_t self_in) { - if (MP_OBJ_IS_STR(self_in)) { + // TODO This has a double check for the type, one in obj.c and one here + if (MP_OBJ_IS_STR(self_in) || MP_OBJ_IS_TYPE(self_in, &mp_type_bytes)) { GET_STR_LEN(self_in, l); return l; } else { |