[BACK]Return to tm_asir.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / texmacs / asir / src

Diff for /OpenXM/src/texmacs/asir/src/tm_asir.c between version 1.1 and 1.2

version 1.1, 2004/02/25 14:45:28 version 1.2, 2004/03/09 07:16:58
Line 1 
Line 1 
 /* -*- mode: C -*- */  /* -*- mode: C -*- */
 /* $OpenXM$ */  /* $OpenXM: OpenXM/src/texmacs/asir/src/tm_asir.c,v 1.1 2004/02/25 14:45:28 ohara Exp $ */
   
   /*
   usage: tm_asir
          tm_asir -d [logfile]
   */
   
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
Line 26 
Line 31 
 #define SM_executeFunction            269  #define SM_executeFunction            269
   
 #define SIZE_BUFFER 2048  #define SIZE_BUFFER 2048
   #define DEFAULT_LOG_FILE "/tmp/tm_asir.log"
   
 #define WRITE(ptr,size)  fwrite((ptr),1,(size),ox_fp)  #define WRITE(ptr,size)  fwrite((ptr),1,(size),ox_fp)
 #define READ(ptr,size)   fread((ptr),1,(size),ox_fp)  #define READ(ptr,size)   fread((ptr),1,(size),ox_fp)
Line 39  int cmd_exeString[3]   = {OX_COMMAND, 0, SM_executeStr
Line 45  int cmd_exeString[3]   = {OX_COMMAND, 0, SM_executeStr
 int cmd_popString[3]   = {OX_COMMAND, 0, SM_popString};  int cmd_popString[3]   = {OX_COMMAND, 0, SM_popString};
   
 FILE *ox_fp;  FILE *ox_fp;
   FILE *logfp;
   static int counter;
   
   char *chomp(char *s)
   {
       char *t = s+strlen(s)-1;
       *t = (*t != '\n')? *t: 0;
       return s;
   }
   
   void put_log(char *format, char *mesg)
   {
       fprintf(logfp, "[%d]", counter++);
       fprintf(logfp, format);
       fprintf(logfp, ":%s\n", mesg);
       fflush(logfp);
   }
   
   void open_log(char *logfile)
   {
       logfp = fopen(logfile, "a");
   }
   
 void load_asir()  void load_asir()
 {  {
     int pid;      int pid;
Line 147  void output_verbatim(char *s)
Line 175  void output_verbatim(char *s)
     fflush(stdout);      fflush(stdout);
 }  }
   
 int main()  int main(int argc, char *argv[])
 {  {
     char buffer[SIZE_BUFFER];      char buffer[SIZE_BUFFER];
     load_asir();      int debug = 0;
     output_verbatim(asir_copyright());      char *logfile = DEFAULT_LOG_FILE;
       if (argc > 1 && strcmp(argv[1], "-d") == 0) {
           debug = 1;
           if (argc > 2) {
               logfile = argv[2];
           }
       }
       if (!debug) {
           load_asir();
           output_verbatim(asir_copyright());
       }else {
           open_log(logfile);
           sprintf(buffer, "This is Plugin Debuger with logging to %s.", logfile);
           output_verbatim(buffer);
                   put_log("verbatim", buffer);
       }
     while(fgets(buffer, SIZE_BUFFER, stdin) != NULL) {      while(fgets(buffer, SIZE_BUFFER, stdin) != NULL) {
         output_latex(asir(buffer));          if (!debug) {
               output_latex(asir(buffer));
           }else {
               output_verbatim(chomp(buffer));
                           put_log("verbatim", buffer);
           }
     }      }
     return 0;      return 0;
 }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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