Added a hack to prevent a port from being added to the node kill

list in "extresist".  This was previously done when a device
terminal could not be found and defaults to its original node
name, but apparently the port itself can get disconnected from
the rest of the net, which needs to be thoroughly investigated.
See the issue that was posted in the netgen issue tracker
(issue #108) by Simon Dorrer.
This commit is contained in:
R. Timothy Edwards 2026-08-02 17:40:32 -04:00
parent 18f3c5d429
commit 4fab5040a6
1 changed files with 16 additions and 6 deletions

View File

@ -245,12 +245,22 @@ ResPrintExtNode(outextfile, nodelist, node)
/* extraction, but this prevents magic from generating an invalid */
/* netlist. */
if (node->status & DONTKILL)
if (DoKillNode == TRUE)
{
DoKillNode = FALSE;
NeedFix = TRUE;
}
if (DoKillNode && (node->status & DONTKILL))
{
DoKillNode = FALSE;
NeedFix = TRUE;
}
/* If somehow a node which is a port is still being marked as killed,
* treat the same way as above for device terminals that failed to
* extract.
*/
if (DoKillNode && (node->status & PORTNODE))
{
DoKillNode = FALSE;
NeedFix = TRUE;
}
if ((ResOptionsFlags & ResOpt_DoExtFile) && DoKillNode)
fprintf(outextfile, "killnode \"%s\"\n", nodename);