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

Diff for /OpenXM_contrib2/asir2000/builtin/print.c between version 1.14 and 1.16

version 1.14, 2001/10/09 01:36:07 version 1.16, 2004/03/03 01:16:28
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/print.c,v 1.13 2001/09/05 09:01:27 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/print.c,v 1.15 2003/11/08 01:12:02 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
   
 void Pprint();  void Pprint();
 void Pquotetolist();  void Pquotetolist();
   void Pobjtoquote();
 void Peval_variables_in_quote();  void Peval_variables_in_quote();
 void Pset_print_function();  void Pset_print_function();
   
 struct ftab print_tab[] = {  struct ftab print_tab[] = {
         {"print",Pprint,-2},          {"print",Pprint,-2},
           {"objtoquote",Pobjtoquote,1},
         {"quotetolist",Pquotetolist,1},          {"quotetolist",Pquotetolist,1},
         {"eval_variables_in_quote",Peval_variables_in_quote,1},          {"eval_variables_in_quote",Peval_variables_in_quote,1},
         {"set_print_function",Pset_print_function,-1},          {"set_print_function",Pset_print_function,-1},
Line 65  struct ftab print_tab[] = {
Line 67  struct ftab print_tab[] = {
   
 void Pprint(NODE arg,pointer *rp)  void Pprint(NODE arg,pointer *rp)
 {  {
         printexpr(CO,ARG0(arg));          Obj obj;
         if ( argc(arg) == 2 )          OPTLIST opt;
                 switch ( QTOS((Q)ARG1(arg)) ) {  
                         case 0:          if ( arg ) {
                                 break;                  obj = (Obj)ARG0(arg);
                         case 2:                  if ( NEXT(arg) ) {
                                 fflush(asir_out); break;                          opt = (OPTLIST)ARG1(arg);
                                 break;                          if ( INT(opt) ) {
                         case 1: default:                                  printexpr(CO,obj);
                                 putc('\n',asir_out); break;                                  switch ( QTOS((Q)opt) ) {
                                           case 0:
                                                   break;
                                           case 2:
                                                   fflush(asir_out); break;
                                                   break;
                                           case 1: default:
                                                   putc('\n',asir_out); break;
                                   }
                           } else if ( OID(opt) == O_OPTLIST ) {
                           } else
                                   error("print : invalid argument");
                   } else {
                           printexpr(CO,obj);
                           putc('\n',asir_out);
                 }                  }
         else          }
                 putc('\n',asir_out);  
         *rp = 0;          *rp = 0;
   }
   
   void Pobjtoquote(NODE arg,QUOTE *rp)
   {
           objtoquote(ARG0(arg),rp);
 }  }
   
 void Pquotetolist(NODE arg,LIST *rp)  void Pquotetolist(NODE arg,LIST *rp)

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.16

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