| version 1.5, 2003/02/14 22:29:17 | 
version 1.8, 2012/12/17 07:20: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/asir_sm.c,v 1.4 2000/11/14 08:38:40 noro Exp $ | 
  * $OpenXM: OpenXM_contrib2/asir2000/parse/asir_sm.c,v 1.7 2004/06/15 00:56:52 noro Exp $ | 
|  */ | 
 */ | 
|  #include "ca.h" | 
 #include "ca.h" | 
|  #include "parse.h" | 
 #include "parse.h" | 
 | 
 | 
|   | 
  | 
|  #if defined(PARI) | 
 #if defined(PARI) | 
|  #include "genpari.h" | 
 #include "genpari.h" | 
|   | 
 #  if !(PARI_VERSION_CODE > 131588) | 
|  extern jmp_buf environnement; | 
 extern jmp_buf environnement; | 
|   | 
 #  endif | 
|  #endif | 
 #endif | 
|   | 
  | 
|  extern jmp_buf env; | 
 extern jmp_buf env; | 
 | 
 | 
|          asir_save_handler(); | 
         asir_save_handler(); | 
|          if ( ox_asir_initialized ) | 
         if ( ox_asir_initialized ) | 
|                  return; | 
                 return; | 
|   | 
         GC_init(); | 
|          ox_asir_initialized = 1; | 
         ox_asir_initialized = 1; | 
|          ox_do_copy = 1; | 
         ox_do_copy = 1; | 
|  #if defined(THINK_C) | 
 #if defined(THINK_C) | 
 | 
 | 
|  #if defined(TOWNS) && !defined(GO32) && !defined(__WIN32__) | 
 #if defined(TOWNS) && !defined(GO32) && !defined(__WIN32__) | 
|          disable_ctrl_c(); | 
         disable_ctrl_c(); | 
|  #endif | 
 #endif | 
|          GC_init(); | 
  | 
|  /*      process_args(argc,argv); */ | 
 /*      process_args(argc,argv); */ | 
|  #if 0 | 
 #if 0 | 
|          copyright(); | 
         copyright(); | 
 | 
 | 
|          Asir_Start(); | 
         Asir_Start(); | 
|          asir_set_handler(); | 
         asir_set_handler(); | 
|          avloc = avma; tloc = tglobal; listloc = marklist(); | 
         avloc = avma; tloc = tglobal; listloc = marklist(); | 
|   | 
 #  if !(PARI_VERSION_CODE > 131588) | 
|          if ( setjmp(environnement) ) { | 
         if ( setjmp(environnement) ) { | 
|                  avma = avloc; tglobal = tloc; recover(listloc); | 
                 avma = avloc; tglobal = tloc; recover(listloc); | 
|                  resetenv(""); | 
                 resetenv(""); | 
|          } | 
         } | 
|   | 
 #  endif | 
|  #endif | 
 #endif | 
|          if ( setjmp(env) ) { | 
         if ( setjmp(env) ) { | 
|                  asir_reset_handler(); | 
                 asir_reset_handler(); | 
| Line 199  char *Asir_PopString() | 
 
  | 
| Line 202  char *Asir_PopString() | 
 
 
 | 
|                  soutput_init(buf); | 
                 soutput_init(buf); | 
|                  sprintexpr(CO,val); | 
                 sprintexpr(CO,val); | 
|                  l = strlen(buf); | 
                 l = strlen(buf); | 
|                  obuf = (char *)GC_malloc(l+1); | 
                 obuf = (char *)MALLOC(l+1); | 
|                  strcpy(obuf,buf); | 
                 strcpy(obuf,buf); | 
|                  return obuf; | 
                 return obuf; | 
|          } | 
         } | 
 | 
 | 
|          saveobj(0,val); | 
         saveobj(0,val); | 
|          *size = ox_count_length; | 
         *size = ox_count_length; | 
|          ox_count_length = 0; ox_do_count = 0; | 
         ox_count_length = 0; ox_do_count = 0; | 
|          ox_copy_bptr = buf = (char *)GC_malloc(*size); | 
         ox_copy_bptr = buf = (char *)MALLOC(*size); | 
|          savevl(0,vl); | 
         savevl(0,vl); | 
|          saveobj(0,val); | 
         saveobj(0,val); | 
|          ox_copy_bptr = 0; | 
         ox_copy_bptr = 0; |