From f5f6c3b7920457e99b71cf58cfb3cb0be0e4e890 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Sun, 15 Jun 2014 23:23:36 +0300
Subject: [PATCH] streams: Reading by char count from unicode text streams is
 not implemented.

---
 py/stream.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/py/stream.c b/py/stream.c
index 07a79248a..a5a96a868 100644
--- a/py/stream.c
+++ b/py/stream.c
@@ -33,6 +33,7 @@
 #include "qstr.h"
 #include "obj.h"
 #include "objstr.h"
+#include "runtime.h"
 #include "stream.h"
 #if MICROPY_STREAMS_NON_BLOCK
 #include <errno.h>
@@ -67,6 +68,13 @@ STATIC mp_obj_t stream_read(uint n_args, const mp_obj_t *args) {
     if (n_args == 1 || ((sz = mp_obj_get_int(args[1])) == -1)) {
         return stream_readall(args[0]);
     }
+
+    #if MICROPY_PY_BUILTINS_STR_UNICODE
+    if (!o->type->stream_p->is_bytes) {
+        mp_not_implemented("Reading from unicode text streams by character count");
+    }
+    #endif
+
     byte *buf = m_new(byte, sz);
     int error;
     machine_int_t out_sz = o->type->stream_p->read(o, buf, sz, &error);
-- 
GitLab