Modified the behavior of cell reading, mainly with respect to

dereferencing, and making the behavior of "load" on the command
line (i.e., loading a cell from a file) the same as the
behavior of loading a cell as a result of expanding an unloaded
instance.  In both cases, if "load -dereference" is used, and
a cell does not exist in any search path but does exist in the
original location, without dereferencing, then the cell will be
loaded from the original location.  Also:  Corrected an error
that has existed since adding the capability to read compressed
files, which causes magic to crash when attempting to run the
"crash recover" command (because that routine was mixing
compressed and regular file stream calls).
This commit is contained in:
Tim Edwards
2023-03-20 21:00:35 -04:00
parent 10448788f9
commit d8f926865d
19 changed files with 119 additions and 88 deletions
+1 -1
View File
@@ -319,7 +319,7 @@ cifOut(outf)
if ((def->cd_flags & CDAVAILABLE) == 0)
{
bool dereference = (def->cd_flags & CDDEREFERENCE) ? TRUE : FALSE;
if (!DBCellRead(def, (char *) NULL, TRUE, dereference, NULL)) continue;
if (!DBCellRead(def, TRUE, dereference, NULL)) continue;
}
/* Add any subcells to the stack. This must be done before