mp_obj_new_bytearray_by_ref(): Allow to create array by reference.

This is special feature for FFI.
This commit is contained in:
Paul Sokolovsky 2014-01-29 00:21:41 +02:00
parent 1801421f6d
commit 7f11c794a5
2 changed files with 12 additions and 0 deletions

View File

@ -349,6 +349,7 @@ extern const mp_obj_type_t zip_type;
// array
extern const mp_obj_type_t array_type;
uint mp_obj_array_len(mp_obj_t self_in);
mp_obj_t mp_obj_new_bytearray_by_ref(uint n, void *items);
// functions
typedef struct _mp_obj_fun_native_t { // need this so we can define const objects (to go in ROM)

View File

@ -271,6 +271,17 @@ mp_obj_t mp_obj_new_bytearray(uint n, void *items) {
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 */