magic/lef
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 Implemented a new configuration variable "dist_prefix" for 2020-01-28 10:40:01 -05:00
defRead.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
defWrite.c Extended the "property" command and modified the way that properties 2026-02-18 10:48:47 -05:00
lef.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
lefCmd.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
lefInt.h Reworked the "def read" command such that it creates a new CellDef 2025-08-26 14:48:27 -04:00
lefRead.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
lefTech.c lef: constify strings in data structures of lef module 2025-02-22 21:48:17 -05:00
lefWrite.c Extended the "property" command and modified the way that properties 2026-02-18 10:48:47 -05:00
tcllef.c K&R lef/*.c: bulk forward reference function prototype conversion 2025-02-22 21:48:17 -05:00