diff --git a/src/frontend/numparam/numparam.h b/src/frontend/numparam/numparam.h index 05c93b33d..dce89514c 100644 --- a/src/frontend/numparam/numparam.h +++ b/src/frontend/numparam/numparam.h @@ -51,6 +51,7 @@ typedef struct { /* the input scanner data structure */ char **dynrefptr; char *dyncategory; int hs_compatibility; /* allow extra keywords */ + int linecount; /* number of lines in deck */ } dico_t; diff --git a/src/frontend/numparam/spicenum.c b/src/frontend/numparam/spicenum.c index 1a7cb7160..2851423ae 100644 --- a/src/frontend/numparam/spicenum.c +++ b/src/frontend/numparam/spicenum.c @@ -320,6 +320,8 @@ nupa_init(void) dicoS->dynrefptr[i] = NULL; dicoS->dyncategory[i] = '?'; } + + dicoS->linecount = dynmaxline; } @@ -332,6 +334,9 @@ nupa_del_dicoS(void) if(!dicoS) return; + for (i = dicoS->linecount; i >= 0; i--) + txfree(dicoS->dynrefptr[i]); + txfree(dicoS->dynrefptr); txfree(dicoS->dyncategory); txfree(dicoS->inst_name);