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

Diff for /OpenXM_contrib2/asir2000/builtin/strobj.c between version 1.78 and 1.79

version 1.78, 2005/10/17 00:38:11 version 1.79, 2005/10/19 10:31:18
Line 45 
Line 45 
  * 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.77 2005/10/15 07:40:59 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.78 2005/10/17 00:38:11 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 663  void Pquote_match_rewrite(NODE arg,Obj *rp)
Line 663  void Pquote_match_rewrite(NODE arg,Obj *rp)
                         NEXTNODE(s0,s);                          NEXTNODE(s0,s);
                         pair = BDY((LIST)BDY(t));                          pair = BDY((LIST)BDY(t));
                         ind = (int)FA0((FNODE)BDY((QUOTE)BDY(pair)));                          ind = (int)FA0((FNODE)BDY((QUOTE)BDY(pair)));
                         value = mkfnode(1,I_FORMULA,BDY(NEXT(pair)));                          value = BDY((QUOTE)(BDY(NEXT(pair))));
                         BDY(s) = mknode(2,ind,value);                          BDY(s) = mknode(2,ind,value);
                 }                  }
                 if ( s0 ) NEXT(s) = 0;                  if ( s0 ) NEXT(s) = 0;
                 switch ( ac = argc(arg) ) {                  switch ( ac = argc(arg) ) {
                         case 3:                          case 3:
                                 h = rewrite_fnode(BDY((QUOTE)ARG2(arg)),s0);                                  h = rewrite_fnode(BDY((QUOTE)ARG2(arg)),s0);
                                 *rp = eval(h);                                  MKQUOTE(q,h); *rp = (Obj)q;
                                 break;                                  break;
                         case 4:                          case 4:
                                 c = rewrite_fnode(BDY((QUOTE)ARG2(arg)),s0);                                  c = rewrite_fnode(BDY((QUOTE)ARG2(arg)),s0);
                                 if ( eval(c) ) {                                  if ( eval(c) ) {
                                         h = rewrite_fnode(BDY((QUOTE)ARG3(arg)),s0);                                          h = rewrite_fnode(BDY((QUOTE)ARG3(arg)),s0);
                                         *rp = eval(h);                                          MKQUOTE(q,h); *rp = (Obj)q;
                                 } else                                  } else
                                         *rp = VOIDobj;                                          *rp = VOIDobj;
                                 break;                                  break;

Legend:
Removed from v.1.78  
changed lines
  Added in v.1.79

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