From 380b287aa9882e96a26a168d3448438edc9fae0a Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Mon, 21 Sep 2020 16:03:37 -0400 Subject: [PATCH] Modified the extraction code to properly handle length and width of devices that have a terminal underneath the device. Code not yet tested. --- VERSION | 2 +- extract/ExtBasic.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 2dabf87d..eb775235 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.58 +8.3.59 diff --git a/extract/ExtBasic.c b/extract/ExtBasic.c index 6ef620d6..241dc799 100644 --- a/extract/ExtBasic.c +++ b/extract/ExtBasic.c @@ -3032,7 +3032,26 @@ extSpecialPerimFunc(bp, sense) if (toutside == TT_SPACE) if (glob_subsnode != NULL) diffNode = glob_subsnode; + } + /* Check for terminal on different plane than the device */ + if (!needSurvey) + { + for (i = 0; !TTMaskIsZero(&devptr->exts_deviceSDTypes[i]); i++) + { + PlaneMask pmask = DBTechTypesToPlanes(&devptr->exts_deviceSDTypes[i]); + + if (!PlaneMaskHasPlane(pmask, DBPlane(tinside))) + { + diffNode = extTransRec.tr_termnode[i]; + needSurvey = TRUE; + break; + } + } + } + + if (!sense || needSurvey) + { /* * Since we're repeating the search, all terminals should be there. */