Corrected dereferencing of cell dependencies, which was being applied

only at the time of running the command "load".  But cells are generally
loaded only on an as-needed basis, so the dereferencing option must be
saved as a flag in the cell and honored whenever its subcells are expanded
or otherwise read at a later time.
This commit is contained in:
Tim Edwards
2020-01-02 10:13:04 -05:00
parent 67866c7991
commit 82e33248f2
18 changed files with 118 additions and 35 deletions
+2 -1
View File
@@ -312,7 +312,8 @@ cifOut(outf)
/* Read the cell in if it is not already available. */
if ((def->cd_flags & CDAVAILABLE) == 0)
{
if (!DBCellRead(def, (char *) NULL, TRUE, FALSE, NULL)) continue;
bool dereference = (def->cd_flags & CDDEREFERENCE) ? TRUE : FALSE;
if (!DBCellRead(def, (char *) NULL, TRUE, dereference, NULL)) continue;
}
/* Add any subcells to the stack. This must be done before