=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/io.c,v retrieving revision 1.1 retrieving revision 1.3 diff -u -p -r1.1 -r1.3 --- OpenXM_contrib2/asir2000/io/io.c 1999/12/03 07:39:11 1.1 +++ OpenXM_contrib2/asir2000/io/io.c 2000/03/16 04:55:20 1.3 @@ -1,11 +1,11 @@ -/* $OpenXM: OpenXM/src/asir99/io/io.c,v 1.1.1.1 1999/11/10 08:12:30 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/io/io.c,v 1.2 2000/01/18 05:55:07 noro Exp $ */ #include #include "ca.h" #if defined(VISUAL) || MPI #include "wsio.h" #endif -extern int little_endian; +extern int little_endian,lib_ox_need_conv; extern int ox_do_copy, ox_do_count, ox_count_length, ox_file_io, ox_need_conv; extern char *ox_copy_bptr; @@ -33,6 +33,14 @@ Obj p; return ox_count_length; } +int count_as_cmo(p) +Obj p; +{ + ox_count_length = 0; + ox_do_count = 1; write_cmo(0,p); ox_do_count = 0; + return ox_count_length; +} + int countvl(vl) VL vl; { @@ -47,16 +55,23 @@ char *s; ox_copy_bptr = s; } -void ox_obj_to_buf(p) +/* + * library mode functions + * byte order is controlled by lib_ox_need_conv. + */ + +void ox_obj_to_buf_as_cmo(p) Obj p; { - ox_do_copy = 1; saveobj(0,p); ox_do_copy = 0; + ox_need_conv = lib_ox_need_conv; + ox_do_copy = 1; write_cmo(0,p); ox_do_copy = 0; } -void ox_buf_to_obj(p) +void ox_buf_to_obj_as_cmo(p) Obj *p; { - ox_do_copy = 1; loadobj(0,p); ox_do_copy = 0; + ox_need_conv = lib_ox_need_conv; + ox_do_copy = 1; read_cmo(0,p); ox_do_copy = 0; } void ox_vl_to_buf(vl)