magic/sim
Mohamed Gaber 6638949233 codebase-wide: use flexible arrays where appropriate
In platforms with bounds-checking enabled, placeholder values for array sizes in structs that may be exceeded always result in a sigtrap.

This patch updates the following classes to use flexible arrays at the end of structs:
- database
  - Label
  - PropertyRecord (union of three flexible arrays and a pointer*)
  - cellUE
- extflat
  - HierName
  - EFAttr
  - Dev
- utils
  - HashEntry (union of two flexible arrays and a pointer*)
   - internalUndoEvent: Was a plain int, replaced with a flexible char array

Additionally, the database struct editUE, which would have just a single flexible-array member, was removed and simply replaced with a character pointer.

Where possible, allocation size macros have been introduced.

---

* It is noted flexible-length arrays as part of unions are not part of the C language spec and are a GNU99 extension, however, it is supported by both GCC and Clang.
2026-07-01 12:37:44 -04:00
..
Makefile Makefile: whitespace only change 2025-07-29 10:50:32 -04:00
SimDBstuff.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
SimExtract.c Last set of changes to get non-Manhattan area and perimeter 2026-01-19 17:18:10 -05:00
SimRsim.c SimRsim.c: removal of pre-POSIX.1-2001 select() interface ifdefs 2025-10-04 20:50:31 -04:00
SimSelect.c Fix five latent bugs surfaced while porting to WASM 2026-05-11 14:20:47 -04:00
sim.h First cut of pulling the TT_SIDE bit out of the tile database 2026-01-09 12:05:03 -05:00