handle correctly next element after operator property.
This commit is contained in:
parent
691abd8243
commit
25b5464fe8
9
H/rheap.h
Normal file → Executable file
9
H/rheap.h
Normal file → Executable file
@ -1523,6 +1523,10 @@ RestoreEntries(PropEntry *pp, int int_key)
|
|||||||
case OpProperty:
|
case OpProperty:
|
||||||
{
|
{
|
||||||
OpEntry *opp = (OpEntry *)pp;
|
OpEntry *opp = (OpEntry *)pp;
|
||||||
|
if (opp->NextOfPE) {
|
||||||
|
opp->NextOfPE =
|
||||||
|
PropAdjust(opp->NextOfPE);
|
||||||
|
}
|
||||||
if (opp->OpModule) {
|
if (opp->OpModule) {
|
||||||
opp->OpModule = AtomTermAdjust(opp->OpModule);
|
opp->OpModule = AtomTermAdjust(opp->OpModule);
|
||||||
}
|
}
|
||||||
@ -1569,13 +1573,14 @@ RestoreAtom(AtomEntry *at)
|
|||||||
{
|
{
|
||||||
AtomEntry *nat;
|
AtomEntry *nat;
|
||||||
|
|
||||||
#ifdef DEBUG_RESTORE2 /* useful during debug */
|
/* this should be done before testing for wide atoms */
|
||||||
|
at->PropsOfAE = PropAdjust(at->PropsOfAE);
|
||||||
|
#if DEBUG_RESTORE2 /* useful during debug */
|
||||||
if (IsWideAtom(AbsAtom(at)))
|
if (IsWideAtom(AbsAtom(at)))
|
||||||
fprintf(errout, "Restoring %S\n", at->WStrOfAE);
|
fprintf(errout, "Restoring %S\n", at->WStrOfAE);
|
||||||
else
|
else
|
||||||
fprintf(errout, "Restoring %s\n", at->StrOfAE);
|
fprintf(errout, "Restoring %s\n", at->StrOfAE);
|
||||||
#endif
|
#endif
|
||||||
at->PropsOfAE = PropAdjust(at->PropsOfAE);
|
|
||||||
RestoreEntries(RepProp(at->PropsOfAE), FALSE);
|
RestoreEntries(RepProp(at->PropsOfAE), FALSE);
|
||||||
/* cannot use AtomAdjust without breaking agc */
|
/* cannot use AtomAdjust without breaking agc */
|
||||||
nat = RepAtom(at->NextOfAE);
|
nat = RepAtom(at->NextOfAE);
|
||||||
|
Reference in New Issue
Block a user