One modification to the last commit, such that if the cell is not

marked as abstract yet has GDS_START but not GDS_END defined,
magic will not crash by attempting to use the nonexistant value
of GDS_END.
This commit is contained in:
Tim Edwards 2020-04-23 15:08:56 -04:00
parent 88e23a114e
commit 0f16b7da6c
1 changed files with 3 additions and 2 deletions

View File

@ -733,7 +733,7 @@ calmaProcessDef(def, outf)
FILE *outf; /* Stream file */
{
char *filename;
bool isReadOnly, oldStyle, hasContent, isAbstract;
bool isReadOnly, oldStyle, hasContent, isAbstract, hasGDSEnd;
HashEntry *he;
/* Skip if already output */
@ -777,6 +777,7 @@ calmaProcessDef(def, outf)
DBPropGet(def, "LEFview", &isAbstract);
DBPropGet(def, "GDS_START", &hasContent);
DBPropGet(def, "GDS_END", &hasGDSEnd);
filename = (char *)DBPropGet(def, "GDS_FILE", &isReadOnly);
if (isReadOnly && hasContent)
@ -805,7 +806,7 @@ calmaProcessDef(def, outf)
if (isReadOnly)
def->cd_flags |= CDVENDORGDS;
}
else if (isAbstract)
else if (isAbstract || (!hasGDSEnd))
{
/* This is the trickiest part. If the cell view is abstract then */
/* the cell view has no hierarchy, and there is no way to descend */