=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/ox_asir.c,v retrieving revision 1.61 retrieving revision 1.65 diff -u -p -r1.61 -r1.65 --- OpenXM_contrib2/asir2000/io/ox_asir.c 2006/02/13 10:07:19 1.61 +++ OpenXM_contrib2/asir2000/io/ox_asir.c 2006/09/29 09:02:49 1.65 @@ -44,7 +44,7 @@ * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. - * $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.60 2006/02/11 09:10:16 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.64 2006/09/26 05:35:26 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -191,6 +191,7 @@ void ox_main(int argc,char **argv) { asir_push_one((Obj)err); while ( NEXT(asir_infile) ) closecurrentinput(); + resetpvs(); } break; } @@ -596,6 +597,14 @@ void asir_pushCMOtag(unsigned int serial) } } +void print_to_wfep(Obj obj) +{ + asir_push_one(obj); + asir_popString(); +} + +extern int wfep_mode; + void asir_popString() { Obj val; @@ -606,7 +615,10 @@ void asir_popString() val = asir_pop_one(); if ( !val ) buf = "0"; - else { + else if ( wfep_mode && OID(val) == O_ERR ) { + /* XXX : for wfep */ + ox_send_data(0,val); return; + } else { l = estimate_length(CO,val); buf = (char *)ALLOCA(l+1); soutput_init(buf); @@ -703,6 +715,7 @@ int asir_executeString() #else parse_strp = cmd; #endif + asir_infile->ln = 1; if ( mainparse(&snode) ) { return -1; }