From 194117a066fa0af6cbe712223195e4ff02037298 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Mon, 9 Feb 2015 12:11:49 +0800
Subject: [PATCH] objstr: Fix bytes creation from array of long ints.

---
 py/objstr.c                     | 2 +-
 tests/basics/bytes_construct.py | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/py/objstr.c b/py/objstr.c
index 43de047a7..9baaedf18 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 793d5115e..de6b5d954 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])))
-- 
GitLab