=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/primitive.c,v retrieving revision 1.22 retrieving revision 1.26 diff -u -p -r1.22 -r1.26 --- OpenXM/src/kan96xx/Kan/primitive.c 2013/11/06 06:44:48 1.22 +++ OpenXM/src/kan96xx/Kan/primitive.c 2020/10/06 11:33:46 1.26 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/primitive.c,v 1.21 2005/07/03 11:08:54 ohara Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/primitive.c,v 1.25 2018/09/07 00:15:44 takayama Exp $ */ /* primitive.c */ /* The functions in this module were in stackmachine.c */ @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include "datatype.h" #include "stackm.h" #include "extern.h" @@ -14,6 +16,7 @@ #include "kclass.h" #include #include +#include "mysig.h" int PrintDollar = 1; /* flag for printObject() */ int PrintComma = 1; /* flag for printObject() */ @@ -280,7 +283,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)); @@ -453,8 +456,8 @@ int executePrimitive(ob) extern int KeepInput; extern int History; extern struct ring *CurrentRingp; - extern TimerOn; - extern SecureMode; + extern int TimerOn; + extern int SecureMode; extern int RestrictedMode; infixOn = 0; @@ -1200,7 +1203,7 @@ int executePrimitive(ob) default: errorStackmachine("Usage:system"); } if (SecureMode) errorStackmachine("Security violation."); - system( ob1.lc.str ); + {int rr; rr=system( ob1.lc.str );} break; case Scat_n: @@ -1746,7 +1749,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{