=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/primitive.c,v retrieving revision 1.19 retrieving revision 1.25 diff -u -p -r1.19 -r1.25 --- OpenXM/src/kan96xx/Kan/primitive.c 2004/09/20 02:11:22 1.19 +++ OpenXM/src/kan96xx/Kan/primitive.c 2018/09/07 00:15:44 1.25 @@ -1,16 +1,20 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/primitive.c,v 1.18 2004/09/17 02:42:57 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/primitive.c,v 1.24 2016/03/31 05:27:34 takayama Exp $ */ /* primitive.c */ /* The functions in this module were in stackmachine.c */ #include +#include +#include #include #include "datatype.h" #include "stackm.h" #include "extern.h" +#include "extern2.h" #include "gradedset.h" #include "kclass.h" #include #include +#include "mysig.h" int PrintDollar = 1; /* flag for printObject() */ int PrintComma = 1; /* flag for printObject() */ @@ -277,7 +281,7 @@ void printObject(ob,nl,fp) printObjectList(&ob); break; case Sfile: - fprintf(fp,"Name=%s, FILE *=%x ",ob.lc.str,(int) ob.rc.file); + fprintf(fp,"Name=%s, FILE *=%p ",ob.lc.str,ob.rc.file); break; case Sring: fprintf(fp,"Ring."); KshowRing(KopRingp(ob)); @@ -422,12 +426,12 @@ void KdefinePrimitiveFunctions() { int executePrimitive(ob) struct object ob; { - struct object ob1; - struct object ob2; - struct object ob3; - struct object ob4; - struct object ob5; - struct object rob; + struct object ob1 = OINIT; + struct object ob2 = OINIT; + struct object ob3 = OINIT; + struct object ob4 = OINIT; + struct object ob5 = OINIT; + struct object rob = OINIT; struct object obArray[OB_ARRAY_MAX]; struct object obArray2[OB_ARRAY_MAX]; int size; @@ -440,11 +444,11 @@ int executePrimitive(ob) FILE *fp; char *fname; int rank; - struct object oMat; + struct object oMat = OINIT; static int timerStart = 1; static struct tms before, after; static time_t before_real, after_real; - struct object oInput; + struct object oInput = OINIT; char *str; int ccflag = 0; extern int KeepInput; @@ -1581,9 +1585,9 @@ int executePrimitive(ob) if (QuoteMode && (status & DO_QUOTE)) { /* generate tree object, for kan/k0 */ - struct object qob; - struct object qattr; - struct object qattr2; + struct object qob = OINIT; + struct object qattr = OINIT; + struct object qattr2 = OINIT; if (i==0) { Kpop(); Kpop();} qob = newObjectArray(3); qattr = newObjectArray(1); @@ -1743,7 +1747,7 @@ int executePrimitive(ob) } n = ob2.lc.ival; if (n > 0) { - signal(SIGALRM,ctrlC); alarm((unsigned int) n); + mysignal(SIGALRM,ctrlC); alarm((unsigned int) n); status = executeExecutableArray(ob1,(char *)NULL,0); cancelAlarm(); }else{