diff options
Diffstat (limited to 'py/stream.c')
-rw-r--r-- | py/stream.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/py/stream.c b/py/stream.c index 07a79248ab..cfdea15cca 100644 --- a/py/stream.c +++ b/py/stream.c @@ -33,9 +33,13 @@ #include "qstr.h" #include "obj.h" #include "objstr.h" +#include "runtime.h" #include "stream.h" #if MICROPY_STREAMS_NON_BLOCK #include <errno.h> +#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) +#define EWOULDBLOCK 140 +#endif #endif // This file defines generic Python stream read/write methods which @@ -67,6 +71,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); |