[BACK]Return to sample_kanlib.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kxx

Diff for /OpenXM/src/kxx/sample_kanlib.c between version 1.2 and 1.5

version 1.2, 2004/09/05 00:51:18 version 1.5, 2016/03/31 05:27:34
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kxx/sample_kanlib.c,v 1.1 2004/02/29 03:00:37 takayama Exp $ */  /* $OpenXM: OpenXM/src/kxx/sample_kanlib.c,v 1.4 2015/10/08 11:49:38 takayama Exp $ */
 /*  /*
 This is a sample program to use kanlib.a  This is a sample program to use kanlib.a
 gcc -g -O2 -g -D_BSD_SOURCE sample_kanlib.c -o sample_kanlib  -ldl   ../kan96xx/Kan/kanlib.a -L../../lib -lgmp -lgc  gcc -g -O2 -g -D_BSD_SOURCE sample_kanlib.c -o sample_kanlib  -ldl   ../kan96xx/Kan/kanlib.a -L../../lib -lgmp -lgc
Line 7  gcc -g -O2 -g -D_BSD_SOURCE sample_kanlib.c -o sample_
Line 7  gcc -g -O2 -g -D_BSD_SOURCE sample_kanlib.c -o sample_
 #include <stdio.h>  #include <stdio.h>
 #include <setjmp.h>  #include <setjmp.h>
 #include <signal.h>  #include <signal.h>
   #include "mysig.h"
   
 #if defined(__CYGWIN__)  // serversm.h is not included.
   #if defined(__CYGWIN__) || defined(__MSYS__)
 #define JMP_BUF sigjmp_buf  #define JMP_BUF sigjmp_buf
 #define SETJMP(env)  sigsetjmp(env,1)  #define SETJMP(env)  _setjmp(env)
 #define LONGJMP(env,p)  siglongjmp(env,p)  #define LONGJMP(env,p)  _longjmp(env,p)
 #else  #else
 #define JMP_BUF jmp_buf  #define JMP_BUF jmp_buf
 #define SETJMP(env)  setjmp(env)  #define SETJMP(env)  setjmp(env)
Line 22  gcc -g -O2 -g -D_BSD_SOURCE sample_kanlib.c -o sample_
Line 24  gcc -g -O2 -g -D_BSD_SOURCE sample_kanlib.c -o sample_
 extern int Quiet;  extern int Quiet;
 extern JMP_BUF EnvOfStackMachine;  extern JMP_BUF EnvOfStackMachine;
 extern Calling_ctrlC_hook;  extern Calling_ctrlC_hook;
   extern int RestrictedMode, RestrictedMode_saved;
   
 void ctrlC();  void ctrlC();
   
Line 30  main() {
Line 33  main() {
   Quiet = 0;    Quiet = 0;
   KSstart();    KSstart();
   
   if (signal(SIGINT,SIG_IGN) != SIG_IGN) {    if (mysignal(SIGINT,SIG_IGN) != SIG_IGN) {
         signal(SIGINT,ctrlC);          mysignal(SIGINT,ctrlC);
   }    }
   while( fgets(s,1023,stdin) != NULL) {    while( fgets(s,1023,stdin) != NULL) {
         if (SETJMP(EnvOfStackMachine)) {          if (SETJMP(EnvOfStackMachine)) {
       if (!Calling_ctrlC_hook) {        if (!Calling_ctrlC_hook) {
         Calling_ctrlC_hook = 1;          Calling_ctrlC_hook = 1; RestrictedMode = 0;
         KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */          KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
           RestrictedMode = RestrictedMode_saved;
       }        }
       Calling_ctrlC_hook = 0;        Calling_ctrlC_hook = 0;
       KSexecuteString(" (Computation is interrupted.) ");        KSexecuteString(" (Computation is interrupted.) ");

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>