[BACK]Return to glob.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/glob.c between version 1.13 and 1.21

version 1.13, 2000/12/22 10:03:31 version 1.21, 2001/08/20 09:03:27
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.12 2000/12/05 01:24:57 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.20 2001/06/27 09:14:08 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "al.h"  #include "al.h"
Line 62 
Line 62 
 #include <direct.h>  #include <direct.h>
 #endif  #endif
   
 #if defined(SYSV)  #if defined(SYSV) && !defined(_IBMR2)
 #include <sys/ttold.h>  #include <sys/ttold.h>
 #endif  #endif
   
Line 77  extern int GC_free_space_numerator;
Line 77  extern int GC_free_space_numerator;
 extern FILE *asir_out;  extern FILE *asir_out;
   
 IN asir_infile;  IN asir_infile;
 jmp_buf env,debug_env,timer_env;  jmp_buf main_env,debug_env,timer_env,exec_env;
 int little_endian,debug_mode;  int little_endian,debug_mode;
 char *asir_libdir;  char *asir_libdir;
 char *asir_pager;  char *asir_pager;
Line 94  FILE *ox_istream,*ox_ostream;
Line 94  FILE *ox_istream,*ox_ostream;
 int do_server_in_X11;  int do_server_in_X11;
 Obj LastVal;  Obj LastVal;
 char LastError[BUFSIZ];  char LastError[BUFSIZ];
   int timer_is_set;
   
   
 struct oV oVAR[] = {  struct oV oVAR[] = {
         {"x",0,0}, {"y",0,0}, {"z",0,0}, {"u",0,0},          {"x",0,0}, {"y",0,0}, {"z",0,0}, {"u",0,0},
         {"v",0,0}, {"w",0,0}, {"p",0,0}, {"q",0,0},          {"v",0,0}, {"w",0,0}, {"p",0,0}, {"q",0,0},
Line 130  F F_FALSE = &oF_FALSE;
Line 132  F F_FALSE = &oF_FALSE;
 #if defined(__SVR4) && defined(sun)  #if defined(__SVR4) && defined(sun)
 char cppname[BUFSIZ] = "/usr/ccs/lib/cpp ";  char cppname[BUFSIZ] = "/usr/ccs/lib/cpp ";
 #else  #else
 #if defined(__FreeBSD__) || defined(__NetBSD__)  #if defined(__FreeBSD__) || defined(__NetBSD__) || (defined(__MACH__) && defined(__ppc__))
 char cppname[BUFSIZ] = "/usr/bin/cpp ";  char cppname[BUFSIZ] = "/usr/bin/cpp ";
 #else  #else
 #if defined(VISUAL)  #if defined(VISUAL)
Line 178  Obj a,b,*c;
Line 180  Obj a,b,*c;
         error("undefined arithmetic operation.");          error("undefined arithmetic operation.");
 }  }
   
 int kernelmode;  
 int do_asirrc;  int do_asirrc;
 int do_file;  int do_file;
 int do_message;  int do_message;
Line 204  void ExitAsir() {
Line 205  void ExitAsir() {
 void asir_terminate(status)  void asir_terminate(status)
 int status;  int status;
 {  {
           int t;
   
         if ( read_exec_file ) {          if ( read_exec_file ) {
                 read_exec_file = 0; longjmp(env,status);                  t = read_exec_file;
                   read_exec_file = 0;
                   if ( t == 1 )
                           longjmp(main_env,status);
                   else
                           longjmp(exec_env,status);
         } else {          } else {
                 tty_reset();                  tty_reset();
 #if MPI  #if MPI
Line 213  int status;
Line 221  int status;
                         close_allconnections();                          close_allconnections();
                 mpi_finalize();                  mpi_finalize();
 #else  #else
   #if defined(SIGPIPE)
                   signal(SIGPIPE,SIG_IGN);
   #endif
                 close_allconnections();                  close_allconnections();
 #endif  #endif
                 if ( kernelmode )  
                         fputc(0xff,asir_out);  
                 if ( asir_out )                  if ( asir_out )
                         fflush(asir_out);                          fflush(asir_out);
 #if FEP  #if FEP
Line 240  void param_init() {
Line 249  void param_init() {
   
 void prompt() {  void prompt() {
         if ( !no_prompt && !do_fep && asir_infile->fp == stdin )          if ( !no_prompt && !do_fep && asir_infile->fp == stdin )
                 fprintf(asir_out,"[%d]%c",APVS->n,kernelmode?0xfe:' ');                  fprintf(asir_out,"[%d] ",APVS->n);
         fflush(asir_out);          fflush(asir_out);
 }  }
   
 void sprompt(ptr)  void sprompt(ptr)
 char *ptr;  char *ptr;
 {  {
         sprintf(ptr,"[%d]%c",APVS->n,kernelmode?0xfe:' ');          sprintf(ptr,"[%d] ",APVS->n);
 }  }
   
 FILE *in_fp;  FILE *in_fp;
Line 285  char **av;
Line 294  char **av;
                         }                          }
                         do_file = 1;                          do_file = 1;
                         av += 2; ac -= 2;                          av += 2; ac -= 2;
                 } else if ( !strcmp(*av,"-kernel") ) {  
                         kernelmode = 1; av++; ac--;  
                 } else if ( !strcmp(*av,"-norc") ) {                  } else if ( !strcmp(*av,"-norc") ) {
                         do_asirrc = 0; av++; ac--;                          do_asirrc = 0; av++; ac--;
                 } else if ( !strcmp(*av,"-nomessage") ) {                  } else if ( !strcmp(*av,"-nomessage") ) {
Line 396  char *s;
Line 403  char *s;
         /* restore states */          /* restore states */
         reset_engine();          reset_engine();
         reset_io();          reset_io();
         longjmp(env,1);  #if !defined(VISUAL)
           reset_timer();
   #endif
           longjmp(main_env,1);
 }  }
   
 void fatal(n)  void fatal(n)
Line 421  int sig;
Line 431  int sig;
                 return;                  return;
         }          }
 #if defined(VISUAL)  #if defined(VISUAL)
         suspend_timer(); signal(SIGINT,SIG_IGN);          suspend_timer();
 #endif  #endif
 #if defined(_PA_RISC1_1) || defined(linux) || defined(VISUAL) || defined(__svr4__)  
         signal(SIGINT,SIG_IGN);          signal(SIGINT,SIG_IGN);
 #endif  
 #if !defined(VISUAL)  #if !defined(VISUAL)
     if ( do_server_in_X11 ) {      if ( do_server_in_X11 ) {
                 debug(PVSS?((VS)BDY(PVSS))->usrf->f.usrf->body:0);                  debug(PVSS?((VS)BDY(PVSS))->usrf->f.usrf->body:0);
Line 446  int sig;
Line 454  int sig;
                 char c;                  char c;
   
                 fprintf(stderr,"interrupt ?(q/t/c/d/u/w/?) "); fflush(stderr);                  fprintf(stderr,"interrupt ?(q/t/c/d/u/w/?) "); fflush(stderr);
                 if ( kernelmode )  
                         fputc('\0',stderr);  
                 buf[0] = '\n';                  buf[0] = '\n';
                 while ( buf[0] == '\n' )                  while ( buf[0] == '\n' )
                         fgets(buf,BUFSIZ,stdin);                          fgets(buf,BUFSIZ,stdin);
Line 479  int sig;
Line 485  int sig;
                                 }                                  }
                                 if ( debug_mode )                                  if ( debug_mode )
                                         debug_mode = 0;                                          debug_mode = 0;
                                 if ( kernelmode )  
                                         fputc('\0',stderr);  
                                 restore_handler();                                  restore_handler();
                                 if ( c == 'u' ) {                                  if ( c == 'u' ) {
                                         if ( registered_handler ) {                                          if ( registered_handler ) {
Line 504  int sig;
Line 508  int sig;
                                 restore_handler();                                  restore_handler();
                                 return;                                  return;
                         case 'c':                          case 'c':
                                 if ( kernelmode )  
                                         fputc('\0',stderr);  
                                 restore_handler();                                  restore_handler();
                                 return; break;                                  return; break;
                         case 'w':                          case 'w':
Line 521  int sig;
Line 523  int sig;
   
 void restore_handler() {  void restore_handler() {
 #if defined(VISUAL)  #if defined(VISUAL)
         resume_timer(); signal(SIGINT,int_handler);          resume_timer();
 #endif  #endif
 #if defined(_PA_RISC1_1) || defined(linux) || defined(__svr4__)  #if defined(SIGINT)
         signal(SIGINT,int_handler);          signal(SIGINT,int_handler);
 #endif  #endif
 }  }
Line 531  void restore_handler() {
Line 533  void restore_handler() {
 void segv_handler(sig)  void segv_handler(sig)
 int sig;  int sig;
 {  {
 #if defined(_PA_RISC1_1) || defined(linux) || defined(VISUAL) || defined(__svr4__)  #if defined(SIGSEGV)
         signal(SIGSEGV,segv_handler);          signal(SIGSEGV,segv_handler);
 #endif  
         error("internal error (SEGV)");          error("internal error (SEGV)");
   #endif
 }  }
   
 void ill_handler(sig)  void ill_handler(sig)
 int sig;  int sig;
 {  {
 #if defined(_PA_RISC1_1) || defined(linux) || defined(VISUAL) || defined(__svr4__)  #if defined(SIGILL)
         signal(SIGILL,ill_handler);          signal(SIGILL,ill_handler);
 #endif  
         error("illegal instruction (ILL)");          error("illegal instruction (ILL)");
   #endif
 }  }
   
 void alrm_handler(sig)  void alrm_handler(sig)
Line 565  int sig;
Line 567  int sig;
 void fpe_handler(sig)  void fpe_handler(sig)
 int sig;  int sig;
 {  {
 #if defined(_PA_RISC1_1) || defined(linux) || defined(VISUAL) || defined(__svr4__)  #if defined(SIGFPE)
         signal(SIGFPE,fpe_handler);          signal(SIGFPE,fpe_handler);
 #endif  
         error("internal error (FPE)");          error("internal error (FPE)");
   #endif
 }  }
   
 void pipe_handler(sig)  void pipe_handler(sig)
Line 576  int sig;
Line 578  int sig;
 {  {
 #if defined(SIGPIPE)  #if defined(SIGPIPE)
         signal(SIGPIPE,pipe_handler);          signal(SIGPIPE,pipe_handler);
           end_critical();
         error("internal error (BROKEN PIPE)");          error("internal error (BROKEN PIPE)");
 #endif  #endif
 }  }
Line 606  char *s;
Line 609  char *s;
 {  {
         SNODE *snp;          SNODE *snp;
   
   #if !defined(VISUAL)
           if ( timer_is_set )
                   alrm_handler(SIGVTALRM);
   #endif
         fprintf(stderr,"%s\n",s);          fprintf(stderr,"%s\n",s);
         set_lasterror(s);          set_lasterror(s);
         if ( CPVS != GPVS ) {          if ( CPVS != GPVS ) {
Line 649  int interval;
Line 656  int interval;
         it.it_value.tv_usec = 0;          it.it_value.tv_usec = 0;
         setitimer(ITIMER_VIRTUAL,&it,0);          setitimer(ITIMER_VIRTUAL,&it,0);
         signal(SIGVTALRM,alrm_handler);          signal(SIGVTALRM,alrm_handler);
           timer_is_set = 1;
 }  }
   
 void reset_timer()  void reset_timer()
Line 661  void reset_timer()
Line 669  void reset_timer()
         it.it_value.tv_usec = 0;          it.it_value.tv_usec = 0;
         setitimer(ITIMER_VIRTUAL,&it,0);          setitimer(ITIMER_VIRTUAL,&it,0);
         signal(SIGVTALRM,SIG_IGN);          signal(SIGVTALRM,SIG_IGN);
           timer_is_set = 0;
 }  }
 #endif  #endif
   
 unsigned int get_asir_version();  unsigned int get_asir_version();
   char *get_asir_distribution();
   
 void copyright() {  void copyright() {
         printf("This is Risa/Asir, Version %d.\n",get_asir_version());  #if defined(INTERVAL)
         printf("Copyright (C) FUJITSU LABORATORIES LIMITED.\n");          printf("This is Risa/Asir + Interval Arithmetic, Version %d (%s Distribution).\n",
         printf("1994-2000. All rights reserved.\n");                  get_asir_version(), get_asir_distribution());
   #else
           printf("This is Risa/Asir, Version %d (%s Distribution).\n",
                   get_asir_version(), get_asir_distribution());
   #endif
           printf("Copyright (C) 1994-2000, all rights reserved, FUJITSU LABORATORIES LIMITED.\n");
           printf("Copyright 2000,2001, Risa/Asir committers, http://www.openxm.org/.\n");
           printf("GC 5.3, copyright 1999, H-J. Boehm, A. J. Demers, Xerox, SGI, HP.\n");
           printf("PARI 2.0.17(beta), copyright (C) 1989-1999,\n");
           printf("     C. Batut, K. Belabas, D. Bernardi, H. Cohen and M. Olivier.\n");
 }  }
   
   

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.21

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