diff --git a/src/frontend/subckt.c b/src/frontend/subckt.c index 750e0c40d..8c06d8b9f 100644 --- a/src/frontend/subckt.c +++ b/src/frontend/subckt.c @@ -94,7 +94,7 @@ static char *gettrans(const char *name, const char *name_end); static int numnodes(char *name, struct subs *subs, wordlist const *modnames); static int numdevs(char *s); static wordlist *modtranslate(struct line *deck, char *subname, wordlist **const modnames); -static void devmodtranslate(struct line *deck, char *subname, wordlist * const submod); +static void devmodtranslate(struct line *deck, char *subname, wordlist * const orig_modnames); static int inp_numnodes(char c); /*--------------------------------------------------------------------- @@ -121,7 +121,7 @@ struct subs { }; -/* submod is the list of original model names, modnames is the +/* orig_modnames is the list of original model names, modnames is the * list of translated names (i.e. after subckt expansion) */ @@ -397,7 +397,7 @@ doit(struct line *deck, wordlist *modnames) { /* Save all the old stuff... */ struct subs *subs = NULL; - wordlist *submod; + wordlist *orig_modnames; wordlist *xmodnames = modnames; #ifdef TRACE @@ -608,10 +608,10 @@ doit(struct line *deck, wordlist *modnames) { /* Change the names of .models found in .subckts . . . */ /* this translates the model name in the .model line */ - submod = modtranslate(lcc, scname, &modnames); - if (submod) - devmodtranslate(lcc, scname, submod); /* This translates the model name on all components in the deck */ - wl_free(submod); + orig_modnames = modtranslate(lcc, scname, &modnames); + if (orig_modnames) + devmodtranslate(lcc, scname, orig_modnames); /* This translates the model name on all components in the deck */ + wl_free(orig_modnames); { char *s = sss->su_args; @@ -1668,7 +1668,7 @@ numdevs(char *s) static wordlist * modtranslate(struct line *c, char *subname, wordlist ** const modnames) { - wordlist *submod = NULL; + wordlist *orig_modnames = NULL; for (; c; c = c->li_next) if (ciprefix(".model", c->li_line)) { @@ -1688,7 +1688,7 @@ modtranslate(struct line *c, char *subname, wordlist ** const modnames) translated_model_name = tprintf("%s:%s", subname, model_name); /* remember the translation */ - submod = wl_cons(model_name, submod); + orig_modnames = wl_cons(model_name, orig_modnames); *modnames = wl_cons(translated_model_name, *modnames); /* perform the actual translation of this .model line */ @@ -1704,7 +1704,7 @@ modtranslate(struct line *c, char *subname, wordlist ** const modnames) } - return submod; + return orig_modnames; } @@ -1716,7 +1716,7 @@ modtranslate(struct line *c, char *subname, wordlist ** const modnames) * after: Q1 c b e U1:2N3904 *-------------------------------------------------------------------*/ static void -devmodtranslate(struct line *deck, char *subname, wordlist * const submod) +devmodtranslate(struct line *deck, char *subname, wordlist * const orig_modnames) { struct line *s; int found; @@ -1782,10 +1782,10 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) /* - * Note that we compare against submod, + * Note that we compare against orig_modnames, * which is the list of untranslated names of models. */ - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name); @@ -1821,7 +1821,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) if (*t) { /* if there is a model, process it. . . . */ name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name); @@ -1832,7 +1832,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) if (*t) { name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name); @@ -1858,7 +1858,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) tfree(name); name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name); @@ -1890,7 +1890,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) tfree(name); name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name); @@ -1928,7 +1928,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) tfree(name); name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name); @@ -1963,7 +1963,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) found = 0; while (!found) { /* Now, is this a subcircuit model? */ - for (wlsub = submod; wlsub; wlsub = wlsub->wl_next) { + for (wlsub = orig_modnames; wlsub; wlsub = wlsub->wl_next) { /* FIXME, probably too unspecific */ int i = (int) strlen(wlsub->wl_word); int j = 0; /* Now, have we a binned model? */ @@ -2022,14 +2022,14 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) tfree(name); name = gettok_node(&t); /* this can be either a model name or a node name. */ - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) if (*t) { /* There is another token - perhaps a model */ (void) sprintf(buffer + strlen(buffer), "%s ", name); tfree(name); name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); } #ifdef ADMS @@ -2038,7 +2038,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) (void) sprintf(buffer + strlen(buffer), "%s ", name); tfree(name); name = gettok(&t); - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); } #endif @@ -2076,7 +2076,7 @@ devmodtranslate(struct line *deck, char *subname, wordlist * const submod) } } /* while */ - wlsub = wl_find(name, submod); + wlsub = wl_find(name, orig_modnames); if (!wlsub) (void) sprintf(buffer + strlen(buffer), "%s ", name);