Additional correction for properly handling the substrate node

when generating the device outputs in the .res.ext file, which was
one of the main points of this exercise.
This commit is contained in:
Tim Edwards
2021-04-21 21:04:17 -04:00
parent 59fc24729c
commit a5248a95d3
2 changed files with 9 additions and 7 deletions
+4 -1
View File
@@ -166,7 +166,10 @@ ResPrintExtDev(outextfile, devices)
break;
}
fprintf(outextfile, " \"%s\"", subsName);
if (devices->subs != NULL)
fprintf(outextfile, " \"%s\"", devices->subs->name);
else
fprintf(outextfile, " \"%s\"", subsName);
fprintf(outextfile, " \"%s\" %d %s \"%s\" %d %s \"%s\" %d %s\n",
devices->gate->name,
+5 -6
View File
@@ -1165,18 +1165,17 @@ ResFixUpConnections(simDev, layoutDev, simNode, nodename)
/* don't patch up networks. This cuts down on memory use. */
if ((ResOptionsFlags & (ResOpt_DoRsmFile | ResOpt_DoExtFile)) == 0)
{
return;
}
if (simDev->layout == NULL)
{
layoutDev->rd_status |= RES_DEV_SAVE;
simDev->layout = layoutDev;
}
simDev->status |= TRUE;
if (strcmp(nodename,oldnodename) != 0)
if (strcmp(nodename, oldnodename) != 0)
{
strcpy(oldnodename,nodename);
strcpy(oldnodename, nodename);
}
sprintf(newname, "%s%s%d", nodename, ".t", resNodeNum++);
notdecremented = TRUE;
@@ -1204,8 +1203,8 @@ ResFixUpConnections(simDev, layoutDev, simNode, nodename)
{
if (simDev->drain == simNode)
{
if ((source = layoutDev->rd_fet_source) &&
(drain = layoutDev->rd_fet_drain))
if (((source = layoutDev->rd_fet_source) != NULL) &&
((drain = layoutDev->rd_fet_drain) != NULL))
{
if (source->rn_name != NULL && notdecremented)
{