diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-02-09 12:11:49 +0800 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-02-09 12:11:49 +0800 |
commit | 194117a066fa0af6cbe712223195e4ff02037298 (patch) | |
tree | cffc8cd397aa91146d63ef0d180eab13b23a9dcd | |
parent | 28631537bd14d0497c8d51d796cdda45b3719890 (diff) | |
download | micropython-194117a066fa0af6cbe712223195e4ff02037298.tar.gz micropython-194117a066fa0af6cbe712223195e4ff02037298.zip |
objstr: Fix bytes creation from array of long ints.
-rw-r--r-- | py/objstr.c | 2 | ||||
-rw-r--r-- | tests/basics/bytes_construct.py | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/py/objstr.c b/py/objstr.c index 43de047a72..9baaedf18d 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -223,7 +223,7 @@ STATIC mp_obj_t bytes_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_k mp_obj_t iterable = mp_getiter(args[0]); mp_obj_t item; while ((item = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) { - vstr_add_byte(&vstr, MP_OBJ_SMALL_INT_VALUE(item)); + vstr_add_byte(&vstr, mp_obj_get_int(item)); } return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr); diff --git a/tests/basics/bytes_construct.py b/tests/basics/bytes_construct.py index 793d5115e1..de6b5d9545 100644 --- a/tests/basics/bytes_construct.py +++ b/tests/basics/bytes_construct.py @@ -11,3 +11,6 @@ print(bytes(bytearray(4))) print(bytes(array('b', [1, 2]))) print(bytes(array('h', [1, 2]))) print(bytes(array('I', [1, 2]))) + +# long ints +print(ord(bytes([14953042807679334000 & 0xff]))) |