version 1.27, 2001/09/20 23:11:42 |
version 1.29, 2001/10/05 02:33:41 |
|
|
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* 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/io/ox_asir.c,v 1.26 2001/09/20 10:44:18 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.28 2001/10/05 01:38:21 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 653 void ox_asir_init(int argc,char **argv) |
|
Line 653 void ox_asir_init(int argc,char **argv) |
|
char *homedir; |
char *homedir; |
char *ptr; |
char *ptr; |
|
|
|
#if !MPI |
|
ox_io_init(); |
|
#endif |
#if !defined(VISUAL) && !MPI |
#if !defined(VISUAL) && !MPI |
do_server_in_X11 = 1; /* XXX */ |
do_server_in_X11 = 1; /* XXX */ |
#endif |
#endif |
Line 706 void ox_asir_init(int argc,char **argv) |
|
Line 709 void ox_asir_init(int argc,char **argv) |
|
fclose(ifp); |
fclose(ifp); |
} |
} |
input_init(0,"string"); |
input_init(0,"string"); |
#if !MPI |
|
ox_io_init(); |
|
#endif |
|
create_my_mathcap("ox_asir"); |
create_my_mathcap("ox_asir"); |
} |
} |
|
|
Line 784 void asir_ox_push_cmo(void *cmo) |
|
Line 784 void asir_ox_push_cmo(void *cmo) |
|
|
|
/* |
/* |
* Pop an object from the stack and converts it |
* Pop an object from the stack and converts it |
* int a binary encoded CMO. |
* into a binary encoded CMO. |
*/ |
*/ |
|
|
int asir_ox_pop_cmo(void *cmo, int limit) |
int asir_ox_pop_cmo(void *cmo, int limit) |
Line 806 int asir_ox_pop_cmo(void *cmo, int limit) |
|
Line 806 int asir_ox_pop_cmo(void *cmo, int limit) |
|
return len; |
return len; |
} else |
} else |
return -1; |
return -1; |
|
} |
|
|
|
int asir_ox_pop_string(void *string, int limit) |
|
{ |
|
Obj val; |
|
int l; |
|
|
|
val = asir_pop_one(); |
|
if ( !val ) { |
|
if ( limit >= 2 ) { |
|
sprintf(string,"0"); |
|
l = strlen(string); |
|
} else |
|
l = -1; |
|
} else { |
|
l = estimate_length(CO,val); |
|
if ( l+1 <= limit ) { |
|
soutput_init(string); |
|
sprintexpr(CO,val); |
|
l = strlen(string); |
|
} else |
|
l = -1; |
|
} |
|
return l; |
} |
} |
|
|
/* |
/* |