=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/strobj.c,v retrieving revision 1.8 retrieving revision 1.12 diff -u -p -r1.8 -r1.12 --- OpenXM_contrib2/asir2000/builtin/strobj.c 2001/10/09 01:36:07 1.8 +++ OpenXM_contrib2/asir2000/builtin/strobj.c 2004/02/26 07:06:31 1.12 @@ -45,14 +45,16 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.7 2000/08/22 05:04:00 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.11 2004/02/13 05:48:35 saito Exp $ */ #include "ca.h" #include "parse.h" #include "ctype.h" -#if PARI +#if defined(PARI) #include "genpari.h" +# if !(PARI_VERSION_CODE > 131588) extern jmp_buf environnement; +# endif #endif #include @@ -203,17 +205,19 @@ Obj *rp; { FNODE fnode; char *cmd; -#if PARI +#if defined(PARI) void recover(int); recover(0); +# if !(PARI_VERSION_CODE > 131588) if ( setjmp(environnement) ) { avma = top; recover(1); resetenv(""); } +# endif #endif cmd = BDY((STRING)ARG0(arg)); - exprparse(0,cmd,&fnode); + exprparse_create_var(0,cmd,&fnode); *rp = eval(fnode); } @@ -225,7 +229,7 @@ STRING *rp; int len; len = estimate_length(CO,ARG0(arg)); - b = (char *)MALLOC(len+1); + b = (char *)MALLOC_ATOMIC(len+1); soutput_init(b); sprintexpr(CO,ARG0(arg)); MKSTR(*rp,b);