version 1.8, 2001/10/09 01:36:07 |
version 1.12, 2004/02/26 07:06:31 |
|
|
* 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/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 "ca.h" |
#include "parse.h" |
#include "parse.h" |
#include "ctype.h" |
#include "ctype.h" |
#if 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 |
#include <string.h> |
#include <string.h> |
|
|
|
|
{ |
{ |
FNODE fnode; |
FNODE fnode; |
char *cmd; |
char *cmd; |
#if PARI |
#if defined(PARI) |
void recover(int); |
void recover(int); |
|
|
recover(0); |
recover(0); |
|
# if !(PARI_VERSION_CODE > 131588) |
if ( setjmp(environnement) ) { |
if ( setjmp(environnement) ) { |
avma = top; recover(1); |
avma = top; recover(1); |
resetenv(""); |
resetenv(""); |
} |
} |
|
# endif |
#endif |
#endif |
cmd = BDY((STRING)ARG0(arg)); |
cmd = BDY((STRING)ARG0(arg)); |
exprparse(0,cmd,&fnode); |
exprparse_create_var(0,cmd,&fnode); |
*rp = eval(fnode); |
*rp = eval(fnode); |
} |
} |
|
|
|
|
int len; |
int len; |
|
|
len = estimate_length(CO,ARG0(arg)); |
len = estimate_length(CO,ARG0(arg)); |
b = (char *)MALLOC(len+1); |
b = (char *)MALLOC_ATOMIC(len+1); |
soutput_init(b); |
soutput_init(b); |
sprintexpr(CO,ARG0(arg)); |
sprintexpr(CO,ARG0(arg)); |
MKSTR(*rp,b); |
MKSTR(*rp,b); |