magic/utils
R. Timothy Edwards d8046fba2d Corrected the other issue with timers in magic, which is that the
"progress report" of percent completion on certain long-running
processes (namely extraction, DEF reads, and GDS/CIF writes) was
allowing Tcl/Tk events to be processed so that the display would
be repainted and the console window updated to show the progress
instead of hanging.  But that was allowing any key macros or
commands to be entered and executed, potentially corrupting the
database while the process was running.  I have used
Tk_RestrictEvents() to prevent key and button events from being
processed until afterward.  This preserves the display updates
(which do not alter the database) while preventing commands from
being run during one of these long-running processes.  Also:
Previously, whenever a long-running process printed the status,
it would not update at the end, leaving output like "52% complete"
being the last output, leaving the impression that the process
never finished.  Changed the code so that if any partial progress
is printed, then it will always finish up with the output "100%
complete" so that it is clear to the user that everything went
according to plan.
2026-06-23 10:08:31 -04:00
..
LIBdbio.c Added the ability to read compressed .mag files (writing is not yet 2022-11-02 17:12:46 -04:00
LIBmain.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
LIBtextio.c LIBtextio.c: printf style constify fmt call-site 2025-01-03 09:08:14 +00:00
Makefile Moved new work on magic-8.4 (experimental merging of micromagic bplane structure 2019-03-22 19:58:47 -04:00
args.c One additional modification to check for a space in the option 2026-05-13 08:38:11 -04:00
child.c utils/*.c: K&R conversion to ANSI 2025-01-06 16:14:34 +00:00
displays.proto Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
dqueue.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
dqueue.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
finddisp.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
flock.c CodeQL FileMayNotBeClosed.ql flock.c may also leak 'fd' in error paths 2025-08-04 16:31:07 -04:00
flsbuf.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
fraction.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
geofast.h header file #ifndef guard presence consistency 2025-07-29 10:50:32 -04:00
geometry.c utils/*.c: K&R conversion to ANSI 2025-01-06 16:14:34 +00:00
geometry.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
getrect.c 35 x warning: suggest parentheses around assignment used as truth value 2024-10-09 21:12:55 -04:00
hash.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
hash.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
heap.c hash.c: K&R conversion to ANSI and constify arguments / callback 2025-01-06 16:15:58 +00:00
heap.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
ihash.c callocMagic has same API argument convention as calloc() 2025-12-19 09:31:58 -05:00
ihash.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
list.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
list.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
lookup.c util/lookup*.c: fix integer pointer arithmetic not using pointertype 2024-12-26 15:20:58 -05:00
lookupany.c utils/lookup*.c: constify the API 2024-12-26 15:20:58 -05:00
lookupfull.c util/lookup*.c: fix integer pointer arithmetic not using pointertype 2024-12-26 15:20:58 -05:00
macros.c Substantially revised the "macro" command callback functions and 2025-10-09 15:43:54 -04:00
macros.h Substantially revised the "macro" command callback functions and 2025-10-09 15:43:54 -04:00
magic.h SUPPORT_DIRECT_MALLOC and SUPPORT_REMOVE_MALLOC_LEGACY 2025-12-19 09:31:58 -05:00
magic_alloca.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
magic_assert.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
magic_stdbool.h C23: use AC_HEADER_STDBOOL #include <stdbool.h> 2025-07-26 17:44:45 -04:00
magic_zlib.h CodeQL FileMayNotBeClosed.ql flock.c may also leak 'fd' in error paths 2025-08-04 16:31:07 -04:00
magsgtty.h utils/magsgtty.h removal and fixup 2026-03-26 09:21:18 -04:00
main.c Added some support for the open PDKs in the technology manager GUI. 2026-06-08 15:10:14 -04:00
main.h Add WASM entry point and Emscripten build wiring 2026-05-11 14:20:47 -04:00
malloc.c malloc: remove #pragma weak as MacOS does not like 2025-12-19 09:31:58 -05:00
malloc.h malloc: remove #pragma weak as MacOS does not like 2025-12-19 09:31:58 -05:00
match.c utils/*.c: K&R conversion to ANSI 2025-01-06 16:14:34 +00:00
maxrect.c First cut of pulling the TT_SIDE bit out of the tile database 2026-01-09 12:05:03 -05:00
maxrect.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
netlist.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
netlist.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
niceabort.c niceabort.c: include <time.h> remove preC89 declarations 2025-07-29 10:50:32 -04:00
parser.c parser.c: ParsSplit() constify (const char **remainder) 2025-10-04 20:50:31 -04:00
parsetest.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
path.c CodeQL FileMayNotBeClosed.ql flock.c may also leak 'fd' in error paths 2025-08-04 16:31:07 -04:00
paths.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
pathvisit.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
pathvisit.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
port.c utils/*.c: K&R conversion to ANSI 2025-01-06 16:14:34 +00:00
printstuff.c Initial commit at Tue Apr 25 08:41:48 EDT 2017 by tim on stravinsky 2017-04-25 08:41:48 -04:00
runstats.c Reworked the way that magic displays measurement values (both linear 2026-01-24 16:19:12 -05:00
runstats.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
set.c utils/*.c: K&R conversion to ANSI 2025-01-06 16:14:34 +00:00
show.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
signals.c Corrected the other issue with timers in magic, which is that the 2026-06-23 10:08:31 -04:00
signals.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
stack.c Updates from running the fix-ending-whitespace script. 2020-05-23 17:13:14 -04:00
stack.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
strdup.c utils/strdup.c: StrDup() and mode constifiy impl 2024-12-26 15:10:35 -05:00
styles.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
tech.c Minor correction to the new "repeat <steps> ... endrepeat" function for 2026-03-02 12:24:46 -05:00
tech.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
touchingtypes.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
touchtypes.c First cut of pulling the TT_SIDE bit out of the tile database 2026-01-09 12:05:03 -05:00
undo.c freeMagic1() idiom insertion at all sites reported by static code analysis 2025-12-19 09:31:58 -05:00
undo.h header file #ifndef guard namespace consistency (global change) 2025-07-29 10:50:32 -04:00
utils.h parser.c: ParsSplit() constify (const char **remainder) 2025-10-04 20:50:31 -04:00