fix restorebb in cases entry key is not an atom (obs from Nicos

Angelopoulos)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2200 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2008-04-03 11:34:47 +00:00
parent 92d26f604e
commit 708e69a670
3 changed files with 30 additions and 13 deletions

View File

@@ -32,7 +32,7 @@ static char SccsId[] = "@(#)agc.c 1.3 3/15/90";
#define errout Yap_stderr
#endif
STATIC_PROTO(void RestoreEntries, (PropEntry *));
STATIC_PROTO(void RestoreEntries, (PropEntry *, int));
STATIC_PROTO(void CleanCode, (PredEntry *));
static int agc_calls;
@@ -192,7 +192,7 @@ mark_hash_entry(AtomHashEntry *HashPtr)
else
fprintf(errout, "Restoring %s\n", at->StrOfAE);
#endif
RestoreEntries(RepProp(at->PropsOfAE));
RestoreEntries(RepProp(at->PropsOfAE), FALSE);
atm = at->NextOfAE;
at = RepAtom(CleanAtomMarkedBit(atm));
} while (!EndOfPAEntr(at));

View File

@@ -113,7 +113,7 @@ STATIC_PROTO(void RestoreDB, (DBEntry *));
STATIC_PROTO(void CleanClauses, (yamop *, yamop *,PredEntry *));
STATIC_PROTO(void rehash, (CELL *, int, int));
STATIC_PROTO(void CleanCode, (PredEntry *));
STATIC_PROTO(void RestoreEntries, (PropEntry *));
STATIC_PROTO(void RestoreEntries, (PropEntry *, int));
STATIC_PROTO(void RestoreFreeSpace, (void));
STATIC_PROTO(void restore_heap, (void));
#ifdef DEBUG_RESTORE3
@@ -1275,7 +1275,7 @@ RestoreAtomList(Atom atm)
fprintf(errout, "Restoring %s\n", at->StrOfAE);
#endif
at->PropsOfAE = PropAdjust(at->PropsOfAE);
RestoreEntries(RepProp(at->PropsOfAE));
RestoreEntries(RepProp(at->PropsOfAE), FALSE);
atm = at->NextOfAE;
at->NextOfAE = atm = AtomAdjust(atm);
at = RepAtom(atm);