py/objstringio: If created from immutable object, follow copy on write policy.
Don't create copy of immutable object's contents until .write() is called
on BytesIO.
diff --git a/py/objstringio.h b/py/objstringio.h
index 853bfb1..56738f4 100644
--- a/py/objstringio.h
+++ b/py/objstringio.h
@@ -33,6 +33,8 @@
vstr_t *vstr;
// StringIO has single pointer used for both reading and writing
mp_uint_t pos;
+ // Underlying object buffered by this StringIO
+ mp_obj_t ref_obj;
} mp_obj_stringio_t;
#endif // MICROPY_INCLUDED_PY_OBJSTRINGIO_H