fix term_to_atom/2.
This commit is contained in:
parent
9b0b6ec649
commit
c3e3b0b50f
@ -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;
|
||||||
|
Reference in New Issue
Block a user