Corrected a problem in which extraction of MOS caps (or any device

with two or more terminals other than the device identifier type
tied together) would fail if there were not a device record
specifically matching a one-S/D-terminal device.  This is
inconsistent with past behavior, and so has been fixed.
This commit is contained in:
Tim Edwards 2020-10-17 12:43:22 -04:00
parent c872db78b3
commit a015b7f8eb
1 changed files with 7 additions and 1 deletions

View File

@ -1726,9 +1726,15 @@ extOutputDevices(def, transList, outFile)
tmask = &devptr->exts_deviceSDTypes[termcount];
if (TTMaskIsZero(tmask)) {
if (termcount < nsd) {
ExtDevice *devcheck;
/* See if there is another matching device record with */
/* a different number of terminals, and try again. */
devptr = extDevFindMatch(devptr, t);
devcheck = extDevFindMatch(devptr, t);
if (devcheck != NULL) devptr = devcheck;
/* Not finding another device record just means that */
/* terminals are tied together on the same net, such as */
/* with a MOS cap. Accept this fact and move on. */
}
break; /* End of SD terminals */
}