[BACK]Return to ox_asir.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / io

Diff for /OpenXM_contrib2/asir2000/io/ox_asir.c between version 1.54 and 1.56

version 1.54, 2004/03/04 06:29:47 version 1.56, 2004/03/11 07:40:42
Line 44 
Line 44 
  * 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.53 2004/03/01 02:03:27 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.55 2004/03/09 07:18:26 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 155  void ox_main(int argc,char **argv) {
Line 155  void ox_main(int argc,char **argv) {
         if ( SETJMP(ox_env) ) {          if ( SETJMP(ox_env) ) {
                 while ( NEXT(asir_infile) )                  while ( NEXT(asir_infile) )
                         closecurrentinput();                          closecurrentinput();
                   resetpvs();
                   reset_engine();
                   reset_io();
                 ox_send_sync(0);                  ox_send_sync(0);
         }          }
         while ( 1 ) {          while ( 1 ) {
Line 663  void asir_evalName(unsigned int serial)
Line 666  void asir_evalName(unsigned int serial)
         asir_push_one(val);          asir_push_one(val);
 }  }
   
   char *augment_backslash(char *s)
   {
           char *p,*r;
           int i;
   
           for ( i = 0, p = s; *p; p++, i++ ) if ( *p == '\\' ) i++;
           r = (char *)MALLOC_ATOMIC((i+1)*sizeof(char));
           for ( i = 0, p = s; *p; p++, i++ ) {
                   if ( *p == '\\' ) r[i++] = '\\';
                   r[i] = *p;
           }
           return r;
   }
   
 int asir_executeString()  int asir_executeString()
 {  {
         SNODE snode;          SNODE snode;
Line 679  int asir_executeString()
Line 696  int asir_executeString()
 # endif  # endif
 #endif  #endif
         cmd = ((STRING)asir_pop_one())->body;          cmd = ((STRING)asir_pop_one())->body;
         parse_strp = cmd;          parse_strp = augment_backslash(cmd);
         if ( mainparse(&snode) ) {          if ( mainparse(&snode) ) {
                 return -1;                  return -1;
         }          }

Legend:
Removed from v.1.54  
changed lines
  Added in v.1.56

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>