/* convertor from generated LOG files to the corresponding TeX sources

       this program is for unix-systems */

#include <stdio.h>
#include <strings.h>

void error(char *txt){
       puts(txt);
       exit(1);
}

void main(int argc,char** argv){
       FILE *fi,*fo;
       char line[200];

       if(argc>=2)
               strcpy(line,argv[1]);
       else{
               printf("input: ");
               scanf("%s",line);
       }
       strcat(line,".log");
       fi=fopen(line,"r");
       if(!fi)
               error("can not open input file");
       while(!feof(fi)){
               fscanf(fi,"%s",line);
               if(line[0]=='$'
               && line[1]=='#'
               && line[2]=='@'
               && line[3]=='!'){
                       int i=4;
                       do{
                               line[i-4]=line[i];
                               i++;
                       }while(line[i-1]);
                       strcat(line,".tex");
                       fo=fopen(line,"w");
                       if(!fo)
                               error("can not open output file");
                       break;
               }
       }
       while(!feof(fi)){
               fgets(line,200,fi);
               if(line[0]=='!'
               && line[1]=='@'
               && line[2]=='#'
               && line[3]=='$'){
                       int i=4;
                       do{
                               line[i-4]=line[i];
                               i++;
                       }while(line[i-1]);
                       fputs(line,fo);
               }
       }
       fclose(fo);
       fclose(fi);
}