From eea01186547f0f1568ea1c8f002da4e33b7b0e46 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Sun, 11 May 2014 13:51:24 +0300
Subject: [PATCH] py: Give up and make mp_obj_str_get_data() deal with bytes
 too.

This is not fully correct re: error handling, because we should check that
that types are used consistently (only str's or only bytes), but magically
makes lot of functions support bytes.
---
 py/objstr.c          | 2 +-
 tests/basics/int1.py | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/py/objstr.c b/py/objstr.c
index c44e9ebf1..33bfcc375 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -1647,7 +1647,7 @@ const char *mp_obj_str_get_str(mp_obj_t self_in) {
 }
 
 const char *mp_obj_str_get_data(mp_obj_t self_in, uint *len) {
-    if (MP_OBJ_IS_STR(self_in)) {
+    if (is_str_or_bytes(self_in)) {
         GET_STR_DATA_LEN(self_in, s, l);
         *len = l;
         return (const char*)s;
diff --git a/tests/basics/int1.py b/tests/basics/int1.py
index 2daef9bf0..e8a0a0468 100644
--- a/tests/basics/int1.py
+++ b/tests/basics/int1.py
@@ -46,6 +46,7 @@ print(int('0B100', 2))
 print(int('0100', 2))
 print(int(' \t 0o12', 8))
 print(int('0o12  \t  ', 8))
+print(int(b"12", 10))
 
 
 def test(value, base):
-- 
GitLab