diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-03-05 22:57:36 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-03-05 22:58:31 +0200 |
commit | 24c1000741dc6c93e2db64fbe1d69159a72b87e8 (patch) | |
tree | 2b11bbbdd56b64961cbcbb574dc6bd0f6e169ae4 | |
parent | 16b1f5e8421b65b89916f143adb992e3164acdf7 (diff) | |
download | micropython-24c1000741dc6c93e2db64fbe1d69159a72b87e8.tar.gz micropython-24c1000741dc6c93e2db64fbe1d69159a72b87e8.zip |
objarray: Support array('O'), array of objects, as extension to CPython.
Might be useful at least for memoryview hacks.
-rw-r--r-- | py/binary.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/py/binary.c b/py/binary.c index 7a1597161d..927a42640b 100644 --- a/py/binary.c +++ b/py/binary.c @@ -141,6 +141,9 @@ mp_obj_t mp_binary_get_val_array(char typecode, void *p, mp_uint_t index) { case 'd': return mp_obj_new_float(((double*)p)[index]); #endif + // Extension to CPython: array of objects + case 'O': + return ((mp_obj_t*)p)[index]; } return MP_OBJ_NEW_SMALL_INT(val); } @@ -300,6 +303,10 @@ void mp_binary_set_val_array(char typecode, void *p, mp_uint_t index, mp_obj_t v ((double*)p)[index] = mp_obj_get_float(val_in); break; #endif + // Extension to CPython: array of objects + case 'O': + ((mp_obj_t*)p)[index] = val_in; + break; default: mp_binary_set_val_array_from_int(typecode, p, index, mp_obj_get_int(val_in)); } |