From fe47d84ace572e0704c81649084146a51ae1c16b Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Sat, 1 May 2021 22:48:59 -0400 Subject: [PATCH 1/2] Missed a corner case in the series combination code where a device has been shuffled to the beginning of the cell, which requires different handling. --- base/netgen.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/base/netgen.c b/base/netgen.c index 0c8dc86..c68b62a 100644 --- a/base/netgen.c +++ b/base/netgen.c @@ -3632,12 +3632,21 @@ int CombineSeries(char *model, int file) /* Device may have been moved by the above code. If so, look for */ /* it from the beginning of the list. */ - if (ob2 == NULL) - for (ob2 = tp->cell; ob2->next != instlist[i][1]; ob2 = ob2->next); - - for (obs = ob2->next; obs->next && (obs->next->type > FIRSTPIN + if ((ob2 == NULL) && (tp->cell == instlist[i][1])) + { + ob2 = tp->cell; + for (obs = ob2; obs->next && (obs->next->type > FIRSTPIN || obs->next->type == PROPERTY); obs = obs->next); - ob2->next = obs->next; + tp->cell = obs->next; + } + else + { + if (ob2 == NULL) + for (ob2 = tp->cell; ob2->next != instlist[i][1]; ob2 = ob2->next); + for (obs = ob2->next; obs->next && (obs->next->type > FIRSTPIN + || obs->next->type == PROPERTY); obs = obs->next); + ob2->next = obs->next; + } if (obs->next) obs->next = NULL; // Terminate 2nd instance record /* If 1st device has unbalanced 'open' records, then add 'close' */ From 01b2484be3008f89aa5e87fd265c79ef0c83e9a6 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Sat, 1 May 2021 22:49:59 -0400 Subject: [PATCH 2/2] Updated version. --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index d683ffe..d9f5db6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.173 +1.5.174