From 94032de135f3daa90ffdc00321d705c2ad46d061 Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Wed, 14 May 2014 17:57:41 +0100 Subject: [PATCH] fix recover slots. --- C/write.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/C/write.c b/C/write.c index 64e0dbb25..6f9832351 100644 --- a/C/write.c +++ b/C/write.c @@ -729,7 +729,7 @@ restore_from_write(struct rewind_term *rwt, struct write_globs *wglb) if (wglb->Keep_terms) { ptr = (CELL*)Yap_GetPtrFromSlot(rwt->u_sd.s.ptr PASS_REGS); - Yap_RecoverSlots(2 PASS_REGS); + Yap_RecoverSlots(2, rwt->u_sd.s.ptr PASS_REGS); } else { ptr = rwt->u_sd.d.ptr; } @@ -915,7 +915,7 @@ writeTerm(Term t, int p, int depth, int rinfixarg, struct write_globs *wglb, str sl = Yap_InitSlot(t PASS_REGS); Yap_execute_goal(Yap_MkApplTerm(FunctorPortray, 1, targs), 0, 1); t = Yap_GetFromSlot(sl PASS_REGS); - Yap_RecoverSlots(1 PASS_REGS); + Yap_RecoverSlots(1, sl PASS_REGS); if (old_EX != NULL) EX = old_EX; if (Yap_GetValue(AtomPortray) == MkAtomTerm(AtomTrue)) return; @@ -999,7 +999,7 @@ writeTerm(Term t, int p, int depth, int rinfixarg, struct write_globs *wglb, str sl = Yap_InitSlot(t PASS_REGS); Yap_execute_goal(Yap_MkApplTerm(FunctorPortray, 1, targs),0, 1); t = Yap_GetFromSlot(sl PASS_REGS); - Yap_RecoverSlots(1 PASS_REGS); + Yap_RecoverSlots(1, sl PASS_REGS); if (old_EX) EX = old_EX; if (Yap_GetValue(AtomPortray) == MkAtomTerm(AtomTrue) || EX) return;