fix term_to_atom/2.

This commit is contained in:
Vítor Santos Costa 2012-05-02 23:38:04 +01:00
parent 9b0b6ec649
commit c3e3b0b50f

View File

@ -2833,9 +2833,14 @@ Yap_read_term(term_t t, IOSTREAM *st, term_t *excep, term_t vs)
{ {
CACHE_REGS CACHE_REGS
Term varnames, out, tpos; Term varnames, out, tpos;
Term error; Term error, *vp;
if (!Yap_readTerm(st, &out, &varnames, &error, &tpos)) { if (vs) {
vp = & varnames;
} else {
vp = NULL;
}
if (!Yap_readTerm(st, &out, vp, &error, &tpos)) {
if (excep) { if (excep) {
*excep = Yap_InitSlot(error PASS_REGS); *excep = Yap_InitSlot(error PASS_REGS);
} }
@ -2850,7 +2855,8 @@ Yap_read_term(term_t t, IOSTREAM *st, term_t *excep, term_t vs)
if (!Yap_unify(out, Yap_GetFromSlot(t PASS_REGS))) { if (!Yap_unify(out, Yap_GetFromSlot(t PASS_REGS))) {
return FALSE; return FALSE;
} }
if (!Yap_unify(varnames, Yap_GetFromSlot(vs PASS_REGS))) { if (vp &&
!Yap_unify(varnames, Yap_GetFromSlot(vs PASS_REGS))) {
return FALSE; return FALSE;
} }
return TRUE; return TRUE;