| 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; |