aca9d5bc40
* modframebuf: _mp_framebuf_p_t is not "really" a protocol, but the QSTR assignment caused problems when building as a dynamic module * modure: str_index_to_ptr is not in the natmod API, disable URE match spans when dynamic. mp_obj_len() is a bugfix, we should throw here if the object is not string-like * moduzlib: Correct paths to uzlib headers & sources. this relative path (from moduzlib.c to the referenced file) works in all cases, the other only worked from ports/PORTNAME. * dynruntime: Handle 2-arg m_malloc, assert_native_inited, add a micropythonish mp_arg_check_num_mp, fix mp_raise_msg to use dumb strings, add mp_raise_arg1 * nativeglue: ad assert_native_inited * translate: MP_ERROR_TEXT evaluates to its argument for DYNRUNTIME * mpy-tool: A straggling magic number change * mpy_ld: Have to renumber manually after dynruntime change * import_mpy_native_gc.py: Update copy of features0 baked into this test
36 lines
1.4 KiB
C
36 lines
1.4 KiB
C
#define MICROPY_PY_UZLIB (1)
|
|
|
|
#include "py/dynruntime.h"
|
|
|
|
#if !defined(__linux__)
|
|
void *memset(void *s, int c, size_t n) {
|
|
return mp_fun_table.memset_(s, c, n);
|
|
}
|
|
#endif
|
|
|
|
mp_obj_type_t decompio_type;
|
|
|
|
#include "extmod/moduzlib.c"
|
|
|
|
mp_map_elem_t decompio_locals_dict_table[3];
|
|
STATIC MP_DEFINE_CONST_DICT(decompio_locals_dict, decompio_locals_dict_table);
|
|
|
|
mp_obj_t mpy_init(mp_obj_fun_bc_t *self, size_t n_args, size_t n_kw, mp_obj_t *args) {
|
|
MP_DYNRUNTIME_INIT_ENTRY
|
|
|
|
decompio_type.base.type = mp_fun_table.type_type;
|
|
decompio_type.name = MP_QSTR_DecompIO;
|
|
decompio_type.make_new = decompio_make_new;
|
|
decompio_type.protocol = &decompio_stream_p;
|
|
decompio_locals_dict_table[0] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_read), MP_OBJ_FROM_PTR(&mp_stream_read_obj) };
|
|
decompio_locals_dict_table[1] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_readinto), MP_OBJ_FROM_PTR(&mp_stream_readinto_obj) };
|
|
decompio_locals_dict_table[2] = (mp_map_elem_t){ MP_OBJ_NEW_QSTR(MP_QSTR_readline), MP_OBJ_FROM_PTR(&mp_stream_unbuffered_readline_obj) };
|
|
decompio_type.locals_dict = (void*)&decompio_locals_dict;
|
|
|
|
mp_store_global(MP_QSTR___name__, MP_OBJ_NEW_QSTR(MP_QSTR_uzlib));
|
|
mp_store_global(MP_QSTR_decompress, MP_OBJ_FROM_PTR(&mod_uzlib_decompress_obj));
|
|
mp_store_global(MP_QSTR_DecompIO, MP_OBJ_FROM_PTR(&decompio_type));
|
|
|
|
MP_DYNRUNTIME_INIT_EXIT
|
|
}
|