Skip to content
Snippets Groups Projects
Commit 7f11c794 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

mp_obj_new_bytearray_by_ref(): Allow to create array by reference.

This is special feature for FFI.
parent 1801421f
No related branches found
No related tags found
No related merge requests found
...@@ -349,6 +349,7 @@ extern const mp_obj_type_t zip_type; ...@@ -349,6 +349,7 @@ extern const mp_obj_type_t zip_type;
// array // array
extern const mp_obj_type_t array_type; extern const mp_obj_type_t array_type;
uint mp_obj_array_len(mp_obj_t self_in); uint mp_obj_array_len(mp_obj_t self_in);
mp_obj_t mp_obj_new_bytearray_by_ref(uint n, void *items);
// functions // functions
typedef struct _mp_obj_fun_native_t { // need this so we can define const objects (to go in ROM) typedef struct _mp_obj_fun_native_t { // need this so we can define const objects (to go in ROM)
......
...@@ -271,6 +271,17 @@ mp_obj_t mp_obj_new_bytearray(uint n, void *items) { ...@@ -271,6 +271,17 @@ mp_obj_t mp_obj_new_bytearray(uint n, void *items) {
return o; return o;
} }
// Create bytearray which references specified memory area
mp_obj_t mp_obj_new_bytearray_by_ref(uint n, void *items) {
mp_obj_array_t *o = m_new_obj(mp_obj_array_t);
o->base.type = &array_type;
o->typecode = BYTEARRAY_TYPECODE;
o->free = 0;
o->len = n;
o->items = items;
return o;
}
/******************************************************************************/ /******************************************************************************/
/* array iterator */ /* array iterator */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment