magic/extract
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
..
ExtArray.c Additional work to incorporate handling of split tiles throughout 2026-01-09 12:05:03 -05:00
ExtBasic.c Added a check for exts_globSubstratePlane == -1 in ExtBasic.c, 2026-06-09 17:41:28 -04:00
ExtCell.c Some further refinements to the last commit, and other additions: 2026-05-29 17:16:37 -04:00
ExtCouple.c Found an issue with coupling capacitance where contact types not 2026-03-05 18:04:53 -05:00
ExtHard.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
ExtHier.c Made a correction to the last commit, which is that when searching 2026-06-22 20:03:30 -04:00
ExtInter.c Significant overhaul of the extresist code. The purpose of this 2026-05-28 13:12:13 -04:00
ExtLength.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
ExtMain.c Some further refinements to the last commit, and other additions: 2026-05-29 17:16:37 -04:00
ExtNghbors.c extract/ExtNghbors.c: fix older compiler support for label 2026-03-26 09:20:07 -04:00
ExtPerim.c Last set of changes to get non-Manhattan area and perimeter 2026-01-19 17:18:10 -05:00
ExtRegion.c Additional changes; fixed some of the most problematic issues 2026-01-15 21:35:46 -05:00
ExtSubtree.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
ExtTech.c Made a correction to the last commit, which is that when searching 2026-06-22 20:03:30 -04:00
ExtTest.c First cut of pulling the TT_SIDE bit out of the tile database 2026-01-09 12:05:03 -05:00
ExtTimes.c Annotate ClientData callbacks: /*ARGSUSED*/ + /* UNUSED */ markers 2026-05-11 14:20:47 -04:00
ExtUnique.c Some further refinements to the last commit, and other additions: 2026-05-29 17:16:37 -04:00
ExtYank.c codebase-wide: use flexible arrays where appropriate 2026-07-01 12:37:44 -04:00
Makefile Makefile: whitespace only change 2025-07-29 10:50:32 -04:00
extDebugInt.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
extract.h Made a correction to the last commit, which is that when searching 2026-06-22 20:03:30 -04:00
extractInt.h Modified behavior with regard to substrate shield types being inside 2026-06-13 16:08:05 -04:00