Browse Source

subckt.c, numnodes(), #1/4, cleanup

pre-master-46
rlar 10 years ago
parent
commit
b18c06c441
  1. 30
      src/frontend/subckt.c

30
src/frontend/subckt.c

@ -1362,31 +1362,20 @@ numnodes(char *name, struct subs *subs, wordlist const *modnames)
/* instead. */ /* instead. */
/* gtri - end - wbk - 10/23/90 */ /* gtri - end - wbk - 10/23/90 */
char c; char c;
struct subs *sss;
char *s, *t, buf[4 * BSIZE_SP]; char *s, *t, buf[4 * BSIZE_SP];
const wordlist *wl; const wordlist *wl;
int n, i, gotit; int n, i, gotit;
name = skip_ws(name); name = skip_ws(name);
c = *name;
if (isupper_c(c))
c = tolower_c(c);
c = tolower_c(*name);
(void) strncpy(buf, name, sizeof(buf));
s = buf;
if (c == 'x') { /* Handle this ourselves. */ if (c == 'x') { /* Handle this ourselves. */
while (*s)
s++;
s--;
while ((*s == ' ') || (*s == '\t'))
*s-- = '\0';
while ((*s != ' ') && (*s != '\t'))
s--;
s++;
for (sss = subs; sss; sss = sss->su_next)
if (eq(sss->su_name, s))
return (sss->su_numargs);
const char *xname_e = skip_back_ws(strchr(name, '\0'), name);
const char *xname = skip_back_non_ws(xname_e, name);
for (; subs; subs = subs->su_next)
if (eq_substr(xname, xname_e, subs->su_name))
return subs->su_numargs;
/* /*
* number of nodes not known so far. * number of nodes not known so far.
* lets count the nodes ourselves, * lets count the nodes ourselves,
@ -1395,10 +1384,9 @@ numnodes(char *name, struct subs *subs, wordlist const *modnames)
*/ */
{ {
int nodes = -2; int nodes = -2;
for (s = buf; *s; ) {
while (*name) {
nodes++; nodes++;
s = skip_non_ws(s);
s = skip_ws(s);
name = skip_ws(skip_non_ws(name));
} }
return (nodes); return (nodes);
} }
@ -1413,6 +1401,8 @@ numnodes(char *name, struct subs *subs, wordlist const *modnames)
/* Paolo Nenzi Jan-2001 */ /* Paolo Nenzi Jan-2001 */
if ((c == 'm') || (c == 'p') || (c == 'q')) { /* IF this is a mos, cpl or bjt*/ if ((c == 'm') || (c == 'p') || (c == 'q')) { /* IF this is a mos, cpl or bjt*/
(void) strncpy(buf, name, sizeof(buf));
i = 0; i = 0;
s = buf; s = buf;
gotit = 0; gotit = 0;

Loading…
Cancel
Save