fixes
This commit is contained in:
parent
1ef3f738ee
commit
5c41c509c0
13
C/terms.c
13
C/terms.c
@ -1448,18 +1448,13 @@ Int cp_link(Term t, Int i, Int j, cl_connector * q, Int max, CELL * tailp) {
|
|||||||
Term ref = Deref(q[me].reference);
|
Term ref = Deref(q[me].reference);
|
||||||
if (IsVarTerm(ref)) {
|
if (IsVarTerm(ref)) {
|
||||||
q[i].copy[j] = ref;
|
q[i].copy[j] = ref;
|
||||||
} else if (i == 0){
|
}
|
||||||
|
else {
|
||||||
Term p = TermNil;
|
|
||||||
Term v = UNFOLD_LOOP(ref,&p);
|
|
||||||
q[i].reference = HeadOfTerm(p);
|
|
||||||
q[i].copy[j] = v;
|
|
||||||
}
|
|
||||||
else if (tailp && q[me].parent) {
|
|
||||||
Term v = UNFOLD_LOOP(ref, tailp);
|
Term v = UNFOLD_LOOP(ref, tailp);
|
||||||
q[i].copy[j] = v;
|
q[i].copy[j] = v;
|
||||||
|
if (me)
|
||||||
q[me].parent[0] = v;
|
q[me].parent[0] = v;
|
||||||
q[i].reference = v;
|
q[me].reference = v;
|
||||||
|
|
||||||
}
|
}
|
||||||
return max;
|
return max;
|
||||||
|
Reference in New Issue
Block a user