From 83ed73ac522c6bbd5900240c2d02e399820cbc26 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Mon, 27 Nov 2023 16:18:43 -0500 Subject: [PATCH] One more change to the "extresist" code which prevents extresist from substituting a regular label for a port during a node merge, which can cause ports to become orphaned. --- VERSION | 2 +- resis/ResMerge.c | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index d29f3647..20159302 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.451 +8.3.452 diff --git a/resis/ResMerge.c b/resis/ResMerge.c index 5991fbc1..ff865492 100644 --- a/resis/ResMerge.c +++ b/resis/ResMerge.c @@ -743,7 +743,19 @@ ResMergeNodes(node1, node2, pendingList, doneList) } /* Moves name to new node, if new node does not have a name */ - if (node1->rn_name == NULL) node1->rn_name = node2->rn_name; + if (node1->rn_name == NULL) + node1->rn_name = node2->rn_name; + else if ((node2->rn_name != NULL) && (node2->rn_name != node1->rn_name)) + { + HashEntry *entry; + ResSimNode *node; + + /* Check if node2 is a port */ + entry = HashFind(&ResNodeTable, node2->rn_name); + node = (ResSimNode *)HashGetValue(entry); + if (node && (node->status & PORTNODE)) + node1->rn_name = node2->rn_name; + } /* Moves resistors to new node */