fix error after error and error within error

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@344 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2002-02-01 15:48:17 +00:00
parent c5267f786c
commit 20c6b50a0d
6 changed files with 32 additions and 9 deletions

View File

@@ -160,7 +160,7 @@ AccessNamedArray(Atom a, Int indx)
READ_LOCK(pp->ArRWLock);
if (IsVarTerm(pp->ValueOfVE)) {
READ_UNLOCK(pp->ArRWLock);
return(FALSE);
return(MkAtomTerm(AtomFoundVar));
}
out = RepAppl(pp->ValueOfVE)[indx+1];
READ_UNLOCK(pp->ArRWLock);
@@ -310,6 +310,9 @@ p_access_array(void)
tf = (RepAppl(t))[indx + 1];
} else if (IsAtomTerm(t)) {
tf = AccessNamedArray(AtomOfTerm(t), indx);
if (tf == MkAtomTerm(AtomFoundVar)) {
return(FALSE);
}
} else {
Error(TYPE_ERROR_ARRAY,t,"access_array");
return(FALSE);
@@ -350,7 +353,9 @@ p_array_arg(void)
}
else if (IsAtomTerm(t)) {
Term tf = AccessNamedArray(AtomOfTerm(t), indx);
if (tf == MkAtomTerm(AtomFoundVar)) {
return(FALSE);
}
return (unify(tf, ARG1));
}
else