summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-01-04 17:19:16 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-01-04 17:19:16 +0200
commit343ca1e63ae90b13af8d0a71f6ed6fc5a6284e33 (patch)
tree4c266a09defd78f88c7b582fca99b5cdf58d3b0c
parent51af362e31263a1aabbc179489bc99618cd4c6f0 (diff)
downloadmicropython-343ca1e63ae90b13af8d0a71f6ed6fc5a6284e33.tar.gz
micropython-343ca1e63ae90b13af8d0a71f6ed6fc5a6284e33.zip
objarray: Make sure that longint works as bytearray size.
-rw-r--r--py/objarray.c4
-rw-r--r--tests/basics/bytearray_longint.py1
2 files changed, 3 insertions, 2 deletions
diff --git a/py/objarray.c b/py/objarray.c
index 19705afc02..2634190dd3 100644
--- a/py/objarray.c
+++ b/py/objarray.c
@@ -191,9 +191,9 @@ STATIC mp_obj_t bytearray_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t
if (n_args == 0) {
// no args: construct an empty bytearray
return array_new(BYTEARRAY_TYPECODE, 0);
- } else if (MP_OBJ_IS_SMALL_INT(args[0])) {
+ } else if (MP_OBJ_IS_INT(args[0])) {
// 1 arg, an integer: construct a blank bytearray of that length
- mp_uint_t len = MP_OBJ_SMALL_INT_VALUE(args[0]);
+ mp_uint_t len = mp_obj_get_int(args[0]);
mp_obj_array_t *o = array_new(BYTEARRAY_TYPECODE, len);
memset(o->items, 0, len);
return o;
diff --git a/tests/basics/bytearray_longint.py b/tests/basics/bytearray_longint.py
new file mode 100644
index 0000000000..334eabe122
--- /dev/null
+++ b/tests/basics/bytearray_longint.py
@@ -0,0 +1 @@
+print(bytearray(2**65 - (2**65 - 1)))