summaryrefslogtreecommitdiff
path: root/lang/cu-prolog/files/patch-syspred1.c
blob: 1f8bc3658be8560fe259c5a8bc535420be514ef9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- src/syspred1.c.orig	Thu Dec 14 22:30:29 2006
+++ src/syspred1.c	Thu Dec 14 22:35:14 2006
@@ -1094,6 +1094,7 @@
   struct clause *root;
   register struct term *tt, *temp;
           int pos = 0, arity;
+  struct term *tt1;
 
 	  if (is_atomic(t)) return((struct clause *)NIL);
           if ((arity = t->t_arity)==0) return((struct clause *)NIL);
@@ -1105,8 +1106,9 @@
 	    head_of_list(tt) = Arg(t,pos);
 	    pos++;
             if (pos >= arity) break;
-	    tail_of_list(tt) = temp =
-	      (struct term *)Nlist(NIL,(struct clause *)NIL,TEMPORAL);
+	    tt1 = tail_of_list(tt);
+	    temp = (struct term *)Nlist(NIL,(struct clause *)NIL,TEMPORAL);
+	    tt1 = (struct term *)Nlist(NIL,(struct clause *)NIL,TEMPORAL);
 	    tt = temp;
 	  }
 	  return(root);
@@ -1227,8 +1229,7 @@
 	head_of_list(t) = Nstr(s, TEMPORAL);
       }
       if (nbuf[pos] == '\0') return(root);
-      t = (tail_of_list(t) =
-	   (struct term *)Nlist(NIL,(struct clause *)NIL,TEMPORAL));
+      t = (struct term *)Nlist(NIL,(struct clause *)NIL,TEMPORAL);
     }
 }