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

Diff for /OpenXM_contrib2/asir2000/parse/main.c between version 1.6 and 1.25

version 1.6, 2000/11/14 08:38:40 version 1.25, 2004/02/13 05:48:36
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/main.c,v 1.5 2000/08/22 05:04:27 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/main.c,v 1.24 2004/01/07 06:25:42 ohara Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
 #if defined(THINK_C)  
 #include <console.h>  
 #endif  
   
 #if PARI  #if defined(PARI)
 #include "genpari.h"  #include "genpari.h"
   
   /* XXX : environment is defined in libpari.a */
   #  if !(PARI_VERSION_CODE > 131588)
 extern jmp_buf environnement;  extern jmp_buf environnement;
   #  endif
 #endif  #endif
   
 extern jmp_buf env;  extern JMP_BUF main_env;
   
   #if defined(INTERVAL)
   #ifndef ASIRRCNAME
   #define ASIRRCNAME      "int_asirrc"
   #endif
   #else
   #ifndef ASIRRCNAME
   #define ASIRRCNAME      "asirrc"
   #endif
   #endif
   
   
 double get_current_time();  double get_current_time();
   void init_socket();
   void recover();
   
 extern int mpi_nprocs,mpi_myid;  extern int mpi_nprocs,mpi_myid;
   
 #if defined(VISUAL_LIB)  #if defined(VISUAL_LIB)
 void Main(argc,argv)  void Main(int argc,char *argv[])
 #else  #else
 #if defined(VISUAL)  #if defined(VISUAL)
 void  void
 #endif  #endif
 main(argc,argv)  main(int argc,char *argv[])
 #endif  #endif
 int argc;  
 char *argv[];  
 {  {
         int tmp;          int tmp;
         FILE *ifp;          FILE *ifp;
Line 82  char *argv[];
Line 94  char *argv[];
         extern int read_exec_file;          extern int read_exec_file;
         extern int do_asirrc;          extern int do_asirrc;
         extern int do_file;          extern int do_file;
           extern char *do_filename;
           extern int asir_setenv;
         extern FILE *in_fp;          extern FILE *in_fp;
           extern int *StackBottom;
         char *getenv();          char *getenv();
         char *homedir;          char *homedir;
         char *slash,*binname;  
         char *ptr;          char *ptr;
   #if !defined(VISUAL)
           char *slash,*bslash,*binname,*p;
   #endif
   
 #if MPI          StackBottom = &tmp;
   #if defined(MPI)
         mpi_init();          mpi_init();
         if ( mpi_myid ) {          if ( mpi_myid ) {
                 int slave_argc;                  int slave_argc;
Line 103  char *argv[];
Line 121  char *argv[];
                 ox_mpi_master_init();                  ox_mpi_master_init();
 #elif !defined(VISUAL)  #elif !defined(VISUAL)
         slash = (char *)rindex(argv[0],'/');          slash = (char *)rindex(argv[0],'/');
           bslash = (char *)rindex(argv[0],'\\');
         if ( slash )          if ( slash )
                 binname = slash+1;                  binname = slash+1;
           else if ( bslash )
                   binname = bslash+1;
         else          else
                 binname = argv[0];                  binname = argv[0];
         if ( !strcmp(binname,"ox_asir") ) {          for ( p = binname; *p; p++ )
                   *p = tolower(*p);
           if ( !strncmp(binname,"ox_asir",strlen("ox_asir")) ) {
                 /* never return */                  /* never return */
                 ox_main(argc,argv);                  ox_main(argc,argv);
                 exit(0);                  exit(0);
 #if DO_PLOT  #if defined(DO_PLOT)
         } else if ( !strcmp(binname,"ox_plot") ) {          } else if ( !strncmp(binname,"ox_plot",strlen("ox_plot")) ) {
                 /* never return */                  /* never return */
                 ox_plot_main(argc,argv);                  ox_plot_main(argc,argv);
                 exit(0);                  exit(0);
 #endif  #endif
         } else if ( !strcmp(binname,"ox_launch") ) {          } else if ( !strncmp(binname,"ox_launch",strlen("ox_launch")) ) {
                 /* never return */                  /* never return */
                 launch_main(argc,argv);                  launch_main(argc,argv);
                 exit(0);                  exit(0);
Line 127  char *argv[];
Line 150  char *argv[];
         srandom((int)get_current_time());          srandom((int)get_current_time());
 /*      mt_sgenrand((unsigned long)get_current_time()); */  /*      mt_sgenrand((unsigned long)get_current_time()); */
   
 #if defined(THINK_C)  
         param_init();  
 #endif  
         rtime_init();          rtime_init();
         env_init();          env_init();
         endian_init();          endian_init();
 #if 0 && !defined(VISUAL) && !defined(THINK_C)  
         check_key();  
 #endif  
         GC_init();          GC_init();
           cppname_init();
         process_args(--argc,++argv);          process_args(--argc,++argv);
 #if PARI  #if defined(PARI)
     risa_pari_init();      risa_pari_init();
 #endif  #endif
         copyright();          if (!do_quiet) {
                   copyright();
           }
         output_init();          output_init();
         arf_init();          arf_init();
         nglob_init();          nglob_init();
Line 163  char *argv[];
Line 183  char *argv[];
         if ( ptr = getenv("ASIR_CONFIG") )          if ( ptr = getenv("ASIR_CONFIG") )
                 strcpy(ifname,ptr);                  strcpy(ifname,ptr);
         else {          else {
 #if defined(THINK_C)  
                 sprintf(ifname,"asirrc");  
 #else  
                 homedir = getenv("HOME");                  homedir = getenv("HOME");
                 if ( !homedir ) {                  if ( !homedir ) {
                         char rootname[BUFSIZ];                          char rootname[BUFSIZ];
Line 173  char *argv[];
Line 190  char *argv[];
                         get_rootdir(rootname,sizeof(rootname));                          get_rootdir(rootname,sizeof(rootname));
                         homedir = rootname;                          homedir = rootname;
                 }                  }
                 sprintf(ifname,"%s/.asirrc",homedir);                  sprintf(ifname,"%s/." ASIRRCNAME,homedir);
 #endif  
         }          }
   
         if ( do_asirrc && (ifp = fopen(ifname,"r")) ) {          if ( do_asirrc && (ifp = fopen(ifname,"r")) ) {
                 input_init(ifp,ifname);                  if (!asir_setenv) {
                 if ( !setjmp(env) ) {                          input_init(ifp,ifname);
                   }else {
                           asir_infile=NULL;
                           loadasirfile(ifname);
                   }
                   if ( !SETJMP(main_env) ) {
                         read_exec_file = 1;                          read_exec_file = 1;
                         read_eval_loop();                          read_eval_loop();
                         read_exec_file = 0;                          read_exec_file = 0;
Line 187  char *argv[];
Line 208  char *argv[];
                 fclose(ifp);                  fclose(ifp);
         }          }
   
         if ( do_file )          if ( do_file ) {
                 input_init(in_fp,"stdin");                  if (!asir_setenv) {
         else                          input_init(in_fp,"stdin");
                   }else {
                           asir_infile=NULL;
                           loadasirfile(do_filename);
                   }
           }else
                 input_init(stdin,"stdin");                  input_init(stdin,"stdin");
         prompt();          prompt();
         while ( 1 ) {          while ( 1 ) {
 #if PARI  #if defined(PARI)
                 recover(0);                  recover(0);
                   /* XXX environement is defined in libpari.a */
   #  if !(PARI_VERSION_CODE > 131588)
                 if ( setjmp(environnement) ) {                  if ( setjmp(environnement) ) {
                         avma = top; recover(1);                          avma = top; recover(1);
                         resetenv("");                          resetenv("");
                 }                  }
   #  endif
 #endif  #endif
                 if ( setjmp(env) )                  if ( SETJMP(main_env) )
                         prompt();                          prompt();
                   restore_handler();
                 read_eval_loop();                  read_eval_loop();
         }          }
 }  }
Line 209  char *argv[];
Line 239  char *argv[];
 #if !defined(VISUAL_LIB)  #if !defined(VISUAL_LIB)
 /* a dummy function */  /* a dummy function */
   
 void set_error(code,reasion,action)  void set_error(int code,char *reason,char *action)
 int code;  
 char *reasion,*action;  
 {}  {}
 #endif  #endif

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.25

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