version 1.1, 2004/02/25 14:45:28 |
version 1.2, 2004/03/09 07:16:58 |
|
|
/* -*- 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> |
|
|
#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; |
} |
} |