diff options
author | Olivier Galibert <galibert@pobox.com> | 2009-03-04 16:43:58 +0000 |
---|---|---|
committer | Olivier Galibert <galibert@pobox.com> | 2009-03-04 16:43:58 +0000 |
commit | 9bcbadbd0a963aae55bbe9bb224ea272d81c1d4c (patch) | |
tree | df884a37c66fb3895a72d31ef0b80f8b7abadd62 /src | |
parent | 23bd717b0abcbf8c43221da614408a744f03c79f (diff) |
maketms: Free strings on exit.
This patch will make happier the environments that do not know that
"still reachable" and "leaked" are not the same thing and that exit()
is a _very_ good deallocator.
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/cpu/tms57002/tmsmake.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/emu/cpu/tms57002/tmsmake.c b/src/emu/cpu/tms57002/tmsmake.c index b5f474b23f6..49b80c11785 100644 --- a/src/emu/cpu/tms57002/tmsmake.c +++ b/src/emu/cpu/tms57002/tmsmake.c @@ -911,6 +911,23 @@ static void save(const char *fname) fclose(f); } +static void clear_cat(instr *il, int count) +{ + int i; + for(i=0; i != count; i++) { + free(il[i].name); + free(il[i].dasm); + free(il[i].run); + } +} + +static void clear(void) +{ + clear_cat(cat1, 0x40); + clear_cat(cat2, 0x80); + clear_cat(cat3, 0x80); +} + int main(int argc, char **argv) { if(argc != 3) { @@ -924,6 +941,7 @@ int main(int argc, char **argv) load(argv[1]); save(argv[2]); + clear(); return 0; } |