From c8ce9d963d0dede313e7f5e0fe957477060c5b3a Mon Sep 17 00:00:00 2001 From: rlar Date: Sat, 5 Nov 2016 14:56:45 +0100 Subject: [PATCH] inp.c, rem_tlist(), cleanup --- src/frontend/inp.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/frontend/inp.c b/src/frontend/inp.c index 5da108527..480dec2c7 100644 --- a/src/frontend/inp.c +++ b/src/frontend/inp.c @@ -1846,23 +1846,26 @@ set_tlist(struct circ *curckt) void rem_tlist(void) { - struct pt_temper *dmtmp; - while (devtlist) { - dmtmp = devtlist->next; - tfree(devtlist->expression); - wl_free(devtlist->wl); - INPfreeTree((IFparseTree *) devtlist->pt); - tfree(devtlist); - devtlist = dmtmp; + struct pt_temper *p; + + for (p = devtlist; p;) { + struct pt_temper *next_p = p->next; + tfree(p->expression); + wl_free(p->wl); + INPfreeTree((IFparseTree *) p->pt); + tfree(p); + p = next_p; } - while (modtlist) { - dmtmp = modtlist->next; - tfree(modtlist->expression); - wl_free(modtlist->wl); - INPfreeTree((IFparseTree *) modtlist->pt); - tfree(modtlist); - modtlist = dmtmp; + for (p = modtlist; p;) { + struct pt_temper *next_p = p->next; + tfree(p->expression); + wl_free(p->wl); + INPfreeTree((IFparseTree *) p->pt); + tfree(p); + p = next_p; } + devtlist = NULL; + modtlist = NULL; } void