micropython/extmod
Jim Mussared b6a9778484 py/misc: Change sizeof to offsetof for variable-length alloc.
This fixes the case where e.g.

    struct foo_t {
      mp_obj_t x;
      uint16_t y;
      char buf[];
    };

will have `sizeof(struct foo_t)==8`, but `offsetof(struct foo_t, buf)==6`.

When computing the size to allocate for `m_new_obj_var` we need to use
offsetof to avoid over-allocating. This is important especially when it
might cause it to spill over into another GC block.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-11-03 16:03:18 +11:00
..
asyncio
axtls-include
btstack
lwip-include
mbedtls
nimble py/misc: Change sizeof to offsetof for variable-length alloc. 2023-11-03 16:03:18 +11:00
extmod.cmake extmod/machine_uart: Factor ports' UART Python bindings to common code. 2023-10-26 10:46:42 +11:00
extmod.mk lib/littlefs: Update LittleFS to v2.8.1. 2023-11-01 17:07:18 +01:00
font_petme128_8x8.h
machine_adc.c extmod/machine_adc: Factor ports' ADC Python bindings to common code. 2023-10-23 17:16:45 +11:00
machine_bitstream.c extmod/modmachine: Consolidate simple machine headers into modmachine.h. 2023-10-26 16:49:27 +11:00
machine_i2c.c extmod/modmachine: Consolidate mem, i2c and spi headers to modmachine.h. 2023-10-26 17:40:22 +11:00
machine_i2s.c extmod/machine_i2s: Factor comments, some enums and macros. 2023-10-20 17:40:17 +11:00
machine_mem.c extmod/modmachine: Consolidate mem, i2c and spi headers to modmachine.h. 2023-10-26 17:40:22 +11:00
machine_pinbase.c extmod/modmachine: Consolidate simple machine headers into modmachine.h. 2023-10-26 16:49:27 +11:00
machine_pulse.c extmod/modmachine: Consolidate simple machine headers into modmachine.h. 2023-10-26 16:49:27 +11:00
machine_pwm.c extmod/machine_pwm: Remove header file and move decls to .c file. 2023-10-20 16:24:46 +11:00
machine_signal.c extmod/modmachine: Consolidate simple machine headers into modmachine.h. 2023-10-26 16:49:27 +11:00
machine_spi.c extmod/modmachine: Consolidate mem, i2c and spi headers to modmachine.h. 2023-10-26 17:40:22 +11:00
machine_timer.c
machine_uart.c extmod/machine_uart: Factor ports' UART Python bindings to common code. 2023-10-26 10:46:42 +11:00
machine_wdt.c extmod/machine_wdt: Factor ports' WDT Python bindings to common code. 2023-10-20 15:36:09 +11:00
misc.h
modasyncio.c
modbinascii.c
modbluetooth.c
modbluetooth.h
modbtree.c
modcryptolib.c
moddeflate.c
modframebuf.c
modhashlib.c
modheapq.c
modjson.c
modlwip.c
modmachine.h extmod/modmachine: Consolidate mem, i2c and spi headers to modmachine.h. 2023-10-26 17:40:22 +11:00
modnetwork.c
modnetwork.h
modonewire.c
modos.c
modplatform.c
modplatform.h
modrandom.c
modre.c py/misc: Change sizeof to offsetof for variable-length alloc. 2023-11-03 16:03:18 +11:00
modselect.c
modsocket.c
modssl_axtls.c
modssl_mbedtls.c
modtime.c
modtime.h
moductypes.c
modwebrepl.c
modwebsocket.c
modwebsocket.h
mpbthci.c
mpbthci.h
network_cyw43.c
network_cyw43.h
network_esp_hosted.c
network_lwip.c
network_ninaw10.c extmod/network_ninaw10: Fix select flags handling in socket poll. 2023-10-27 15:49:17 +11:00
network_wiznet5k.c extmod/modmachine: Consolidate mem, i2c and spi headers to modmachine.h. 2023-10-26 17:40:22 +11:00
os_dupterm.c
vfs.c
vfs.h
vfs_blockdev.c
vfs_fat.c
vfs_fat.h
vfs_fat_diskio.c
vfs_fat_file.c
vfs_lfs.c
vfs_lfs.h
vfs_lfsx.c
vfs_lfsx_file.c py/misc: Change sizeof to offsetof for variable-length alloc. 2023-11-03 16:03:18 +11:00
vfs_posix.c
vfs_posix.h
vfs_posix_file.c
vfs_reader.c
virtpin.c
virtpin.h