Commit cdc020da authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

objstrunicode: Re-add buffer protocol back for now, required for io.StringIO.

parent e7f2b4c8
...@@ -1601,7 +1601,7 @@ STATIC mp_obj_t str_encode(uint n_args, const mp_obj_t *args) { ...@@ -1601,7 +1601,7 @@ STATIC mp_obj_t str_encode(uint n_args, const mp_obj_t *args) {
} }
#endif #endif
STATIC machine_int_t str_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, int flags) { machine_int_t str_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, int flags) {
if (flags == MP_BUFFER_READ) { if (flags == MP_BUFFER_READ) {
GET_STR_DATA_LEN(self_in, str_data, str_len); GET_STR_DATA_LEN(self_in, str_data, str_len);
bufinfo->buf = (void*)str_data; bufinfo->buf = (void*)str_data;
......
...@@ -55,6 +55,7 @@ mp_obj_t mp_obj_str_format(uint n_args, const mp_obj_t *args); ...@@ -55,6 +55,7 @@ mp_obj_t mp_obj_str_format(uint n_args, const mp_obj_t *args);
mp_obj_t mp_obj_new_str_of_type(const mp_obj_type_t *type, const byte* data, uint len); mp_obj_t mp_obj_new_str_of_type(const mp_obj_type_t *type, const byte* data, uint len);
mp_obj_t str_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in); mp_obj_t str_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in);
machine_int_t str_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, int flags);
MP_DECLARE_CONST_FUN_OBJ(str_encode_obj); MP_DECLARE_CONST_FUN_OBJ(str_encode_obj);
MP_DECLARE_CONST_FUN_OBJ(str_find_obj); MP_DECLARE_CONST_FUN_OBJ(str_find_obj);
......
...@@ -313,7 +313,7 @@ const mp_obj_type_t mp_type_str = { ...@@ -313,7 +313,7 @@ const mp_obj_type_t mp_type_str = {
.binary_op = str_binary_op, .binary_op = str_binary_op,
.subscr = str_subscr, .subscr = str_subscr,
.getiter = mp_obj_new_str_iterator, .getiter = mp_obj_new_str_iterator,
// .buffer_p = { .get_buffer = str_get_buffer }, .buffer_p = { .get_buffer = str_get_buffer },
.locals_dict = (mp_obj_t)&str_locals_dict, .locals_dict = (mp_obj_t)&str_locals_dict,
}; };
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment