=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/list.c,v retrieving revision 1.5 retrieving revision 1.8 diff -u -p -r1.5 -r1.8 --- OpenXM/src/kan96xx/Kan/list.c 2004/09/11 01:00:42 1.5 +++ OpenXM/src/kan96xx/Kan/list.c 2020/10/06 11:33:46 1.8 @@ -1,12 +1,13 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/list.c,v 1.4 2004/09/09 11:42:22 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/list.c,v 1.7 2005/07/03 11:08:54 ohara Exp $ */ /* list.c */ #include +#include #include "datatype.h" #include "stackm.h" #include "extern.h" -static errorList(char *s); -static warningList(char *s); +static void errorList(char *s); +static void warningList(char *s); /* The basic data structure for list is struct object *, @@ -27,6 +28,7 @@ struct object *newList(objp) /* Warning!! Make a copy of the object. It is important. */ *(op->lc.op) = *(objp); op->rc.op = (struct object *)NULL; + op->attr = NULL; return(op); } @@ -48,7 +50,7 @@ struct object listToArray(objp) /* This function copies only the top level of the list */ { int n; - struct object ans; + struct object ans = OINIT; int i; if (objp->tag != Slist) { warningList("use objectListToObjectArray() for object-list."); @@ -158,7 +160,7 @@ void printObjectList(op) printObjectList0(op,1); } -memberQ(list1,obj2) +int memberQ(list1,obj2) struct object *list1; struct object obj2; /* If obj2 is an member of list1, the functions the position. @@ -175,21 +177,21 @@ memberQ(list1,obj2) return(0); } -static errorList(str) +static void errorList(str) char *str; { fprintf(stderr,"list.c: %s\n",str); exit(10); } -static warningList(str) +static void warningList(str) char *str; { fprintf(stderr,"Warning. list.c: %s\n",str); } struct object KvJoin(struct object listo1,struct object listo2) { - struct object rob; + struct object rob = OINIT; struct object *op1,*op2; if (listo1.tag == Snull) return listo2; if (listo2.tag == Snull) return listo1; @@ -214,7 +216,7 @@ struct object Kcar(struct object listo) { } struct object Kcdr(struct object listo) { struct object *op; - struct object rob; + struct object rob = OINIT; if (listo.tag == Snull) return listo; if (listo.tag == Slist) { op = cdr(&listo);