diff --git a/commands/CmdCD.c b/commands/CmdCD.c index cb718a41..db2049f2 100644 --- a/commands/CmdCD.c +++ b/commands/CmdCD.c @@ -145,8 +145,8 @@ CmdCalma(w, cmd) "library [yes|no] do not output the top level, only subcells", "lower [yes|no] allow both upper and lower case in labels", "merge [yes|no] merge tiles into polygons in the output", - "noduplicates [yes|no] do not read cells that exist before reading GDS", "nodatestamp [yes|no] write a zero value creation date stamp", + "noduplicates [yes|no] do not read cells that exist before reading GDS", "read file read Calma GDS-II format from \"file\"\n" " into edit cell", "readonly [yes|no] set cell as read-only and generate output from GDS file", diff --git a/database/DBprop.c b/database/DBprop.c index 2c267f52..3529c628 100644 --- a/database/DBprop.c +++ b/database/DBprop.c @@ -83,6 +83,15 @@ DBPropPut(cellDef, name, value) cellDef->cd_flags |= CDFIXEDBBOX; } + /* Special handling of GDS_FILE, which uses CDVENDORGDS as a quick lookup */ + if (!strcmp(name, "GDS_FILE")) + { + if (value == (ClientData)NULL) + cellDef->cd_flags &= ~CDVENDORGDS; + else + cellDef->cd_flags |= CDVENDORGDS; + } + entry = HashFind(htab, name); oldvalue = (char *)HashGetValue(entry); if (oldvalue != NULL) freeMagic(oldvalue);