=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/ox_asir.c,v retrieving revision 1.22 retrieving revision 1.26 diff -u -p -r1.22 -r1.26 --- OpenXM_contrib2/asir2000/io/ox_asir.c 2000/11/14 08:38:39 1.22 +++ OpenXM_contrib2/asir2000/io/ox_asir.c 2001/09/20 10:44:18 1.26 @@ -44,7 +44,7 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.21 2000/11/07 06:35:38 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.25 2001/08/20 09:03:26 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -174,7 +174,7 @@ void ox_main(int argc,char **argv) { break; if ( do_message ) fprintf(stderr," %s\n",name_of_cmd(cmd)); - if ( ret = setjmp(env) ) { + if ( ret = setjmp(main_env) ) { if ( ret == 1 ) { create_error(&err,serial,LastError); asir_push_one((Obj)err); @@ -419,7 +419,7 @@ void asir_popString() val = asir_pop_one(); if ( !val ) - obuf = 0; + obuf = "0"; else { l = estimate_length(CO,val); buf = (char *)ALLOCA(l+1); @@ -662,15 +662,9 @@ void ox_asir_init(int argc,char **argv) #endif srandom((int)get_current_time()); -#if defined(THINK_C) - param_init(); -#endif rtime_init(); env_init(); endian_init(); -#if !defined(VISUAL) && !defined(THINK_C) -/* check_key(); */ -#endif GC_init(); process_args(--argc,++argv); output_init(); @@ -693,9 +687,6 @@ void ox_asir_init(int argc,char **argv) if ( ptr = getenv("ASIR_CONFIG") ) strcpy(ifname,ptr); else { -#if defined(THINK_C) - sprintf(ifname,"asirrc"); -#else homedir = getenv("HOME"); if ( !homedir ) { char rootname[BUFSIZ]; @@ -704,11 +695,10 @@ void ox_asir_init(int argc,char **argv) homedir = rootname; } sprintf(ifname,"%s/.asirrc",homedir); -#endif } if ( do_asirrc && (ifp = fopen(ifname,"r")) ) { input_init(ifp,ifname); - if ( !setjmp(env) ) { + if ( !setjmp(main_env) ) { read_exec_file = 1; read_eval_loop(); read_exec_file = 0; @@ -726,6 +716,9 @@ void ox_io_init() { unsigned char c,rc; extern int I_am_server; + /* XXX : ssh forwards stdin to a remote host */ + fclose(stdin); + I_am_server = 1; endian_init(); #if defined(VISUAL) @@ -811,7 +804,7 @@ void asir_ox_push_cmd(int cmd) ERR err; extern char LastError[]; - if ( ret = setjmp(env) ) { + if ( ret = setjmp(main_env) ) { asir_reset_handler(); if ( ret == 1 ) { create_error(&err,0,LastError); /* XXX */ @@ -838,7 +831,7 @@ void asir_ox_execute_string(char *s) MKSTR(str,s); asir_push_one((Obj)str); - if ( ret = setjmp(env) ) { + if ( ret = setjmp(main_env) ) { asir_reset_handler(); if ( ret == 1 ) { create_error(&err,0,LastError); /* XXX */ @@ -899,15 +892,9 @@ int asir_ox_init(int byteorder) #endif srandom((int)get_current_time()); -#if defined(THINK_C) - param_init(); -#endif rtime_init(); env_init(); endian_init(); -#if !defined(VISUAL) && !defined(THINK_C) -/* check_key(); */ -#endif GC_init(); /* process_args(argc,argv); */ output_init(); @@ -926,14 +913,10 @@ int asir_ox_init(int byteorder) #if defined(UINIT) reg_sysf(); #endif -#if defined(THINK_C) - sprintf(ifname,"asirrc"); -#else sprintf(ifname,"%s/.asirrc",getenv("HOME")); -#endif if ( do_asirrc && (ifp = fopen(ifname,"r")) ) { input_init(ifp,ifname); - if ( !setjmp(env) ) { + if ( !setjmp(main_env) ) { read_exec_file = 1; read_eval_loop(); read_exec_file = 0;