fix bad restore of operators (obs from Paulo Moura)

This commit is contained in:
U-Khasa\Vitor 2010-03-01 11:52:42 -06:00
parent f7b05ede15
commit 46f0a0644c
4 changed files with 12 additions and 0 deletions

View File

@ -170,6 +170,7 @@ AtomAdjust(Atom a)
#define PtoPredAdjust(P) (P)
#define PtoPtoPredAdjust(P) (P)
#define OpRTableAdjust(P) (P)
#define OpEntryAdjust(P) (P)
#define PropAdjust(P) (P)
#define TrailAddrAdjust(P) (P)
#define XAdjust(P) (P)

0
C/stdpreds.c Normal file → Executable file
View File

View File

@ -1537,6 +1537,9 @@ RestoreEntries(PropEntry *pp, int int_key)
if (opp->OpModule) {
opp->OpModule = AtomTermAdjust(opp->OpModule);
}
if (opp->OpNext) {
opp->OpNext = OpEntryAdjust(opp->OpNext);
}
}
break;
case ModProperty:

8
H/sshift.h Normal file → Executable file
View File

@ -685,6 +685,14 @@ OpRTableAdjust (opentry * ptr)
return (opentry *) (((opentry *) (CharP (ptr) + HDiff)));
}
inline EXTERN OpEntry *OpEntryAdjust (OpEntry *);
inline EXTERN OpEntry *
OpEntryAdjust (OpEntry * ptr)
{
return (OpEntry *) (((OpEntry *) (CharP (ptr) + HDiff)));
}
inline EXTERN PredEntry *PtoPredAdjust (PredEntry *);
inline EXTERN PredEntry *