diff --git a/ext2sim/ext2sim.c b/ext2sim/ext2sim.c index f56da513..bc98475d 100644 --- a/ext2sim/ext2sim.c +++ b/ext2sim/ext2sim.c @@ -814,7 +814,10 @@ main( EFVisitDevs(simmergeVisit, PTR2CD(NULL)); TxPrintf("Devices merged: %d\n", esDevsMerged); esFMIndex = 0; - for (p = devMergeList; p != NULL; p = p->next) freeMagic((char *)p); + free_magic1_t mm1 = freeMagic1_init(); + for (p = devMergeList; p != NULL; p = p->next) + freeMagic1(&mm1, (char *)p); + freeMagic1_end(&mm1); } EFVisitDevs(simdevVisit, PTR2CD(NULL)); diff --git a/ext2spice/ext2spice.c b/ext2spice/ext2spice.c index ca3b753c..9d77fb63 100644 --- a/ext2spice/ext2spice.c +++ b/ext2spice/ext2spice.c @@ -1345,9 +1345,12 @@ main( TxPrintf("Devs merged: %d\n", esSpiceDevsMerged); esFMIndex = 0 ; { - const devMerge *p; + const devMerge *p; - for ( p = devMergeList ; p != NULL ; p=p->next ) freeMagic((char *)p); + free_magic1_t mm1 = freeMagic1_init(); + for (p = devMergeList; p != NULL; p = p->next) + freeMagic1(&mm1, (char *)p); + freeMagic1_end(&mm1); } } else if ( esDistrJunct ) EFVisitDevs(devDistJunctVisit, (ClientData) NULL); diff --git a/extract/ExtArray.c b/extract/ExtArray.c index b1f9f43f..9262912e 100644 --- a/extract/ExtArray.c +++ b/extract/ExtArray.c @@ -95,6 +95,7 @@ extOutputGeneratedLabels(parentUse, f) parentDef = parentUse->cu_def; + free_magic1_t mm1 = freeMagic1_init(); while ((lab = parentDef->cd_labels) != NULL) { if ((lab->lab_flags & LABEL_GENERATE) == 0) return; @@ -106,9 +107,10 @@ extOutputGeneratedLabels(parentUse, f) for (n = 0; n < ExtCurStyle->exts_numResistClasses; n++) fprintf(f, " 0 0"); putc('\n', f); - freeMagic(lab); + freeMagic1(&mm1, lab); parentDef->cd_labels = lab->lab_next; } + freeMagic1_end(&mm1); } #endif diff --git a/extract/ExtBasic.c b/extract/ExtBasic.c index 9e34fac8..e0d5c002 100644 --- a/extract/ExtBasic.c +++ b/extract/ExtBasic.c @@ -2776,8 +2776,12 @@ extOutputDevices(def, transList, outFile) /* Free the lists */ for (i = 0; i < n; i++) + { + free_magic1_t mm1 = freeMagic1_init(); for (lb = extSpecialBounds[i]; lb != NULL; lb = lb->b_next) - freeMagic((char *)lb); + freeMagic1(&mm1, (char *)lb); + freeMagic1_end(&mm1); + } freeMagic((char *)extSpecialBounds); /* Put the region list back the way we found it: */