From 50e9a8c3b6e946dbff136ffb4b3776c36f66de08 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 11 Feb 2018 18:15:45 +0100 Subject: [PATCH] DEVmodDelete(), extend ASRCdelete() and use it in ASRCmDelete() rip instance specific cleanup business from the ASRCmDelete() function. move this to ASRCdelete() --- src/spicelib/devices/asrc/asrcdel.c | 4 +++- src/spicelib/devices/asrc/asrcmdel.c | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/spicelib/devices/asrc/asrcdel.c b/src/spicelib/devices/asrc/asrcdel.c index 616f6b382..40f3f15a3 100644 --- a/src/spicelib/devices/asrc/asrcdel.c +++ b/src/spicelib/devices/asrc/asrcdel.c @@ -12,6 +12,8 @@ Author: 1987 Kanwar Jit Singh int ASRCdelete(GENinstance *gen_inst) { - NG_IGNORE(gen_inst); + ASRCinstance *inst = (ASRCinstance *) gen_inst; + + FREE(inst->ASRCacValues); return OK; } diff --git a/src/spicelib/devices/asrc/asrcmdel.c b/src/spicelib/devices/asrc/asrcmdel.c index 41ead93d2..324780885 100644 --- a/src/spicelib/devices/asrc/asrcmdel.c +++ b/src/spicelib/devices/asrc/asrcmdel.c @@ -32,14 +32,17 @@ ASRCmDelete(GENmodel **modList, IFuid modname, GENmodel *killModel) *oldmod = (*model)->ASRCnextModel; /* cut deleted device out of list */ for (here = (*model)->ASRCinstances; here; here = here->ASRCnextInstance) { - FREE(here->ASRCacValues); - if (prev) + if (prev) { + ASRCdelete((GENinstance *) prev); FREE(prev); + } prev = here; } - if (prev) + if (prev) { + ASRCdelete((GENinstance *) prev); FREE(prev); + } FREE(*model); return(OK); }