/[public]/psiconv/trunk/program/extra/rewrite.c
ViewVC logotype

Diff of /psiconv/trunk/program/extra/rewrite.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 142 Revision 180
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18*/ 18*/
19 19
20#include <psiconv/parse.h> 20#include <psiconv/parse.h>
21#include <psiconv/generate.h> 21#include <psiconv/generate.h>
22#include <psiconv/configuration.h>
22 23
24#include <stdlib.h>
23#include <stdio.h> 25#include <stdio.h>
24 26
25int main(int argc, char *argv[]) 27int main(int argc, char *argv[])
26{ 28{
27 FILE *fp; 29 FILE *fp;
28 psiconv_buffer buf; 30 psiconv_buffer buf;
29 psiconv_file psionfile; 31 psiconv_file psionfile;
32 psiconv_config config;
30 33
31 /* psiconv_verbosity = PSICONV_VERB_DEBUG; */ 34 /* psiconv_verbosity = PSICONV_VERB_DEBUG; */
32 35
33 if (argc < 3) { 36 if (argc < 3) {
34 fprintf(stderr,"Not enough arguments\n"); 37 fprintf(stderr,"Not enough arguments\n");
38 fprintf(stderr,"Syntax: INFILE OUTFILE\n");
35 exit(1); 39 exit(1);
36 } 40 }
41
42 config = psiconv_config_default();
43 psiconv_config_read(NULL,&config);
44
37 if (!(fp = fopen(argv[1],"r"))) { 45 if (!(fp = fopen(argv[1],"r"))) {
38 perror("Can't open file"); 46 perror("Can't open file");
39 exit(1); 47 exit(1);
40 } 48 }
41 if (!(buf=psiconv_buffer_new())) { 49 if (!(buf=psiconv_buffer_new())) {
45 if ((psiconv_buffer_fread_all(buf,fp))) { 53 if ((psiconv_buffer_fread_all(buf,fp))) {
46 perror("Can't fread file"); 54 perror("Can't fread file");
47 exit(1); 55 exit(1);
48 } 56 }
49 fclose(fp); 57 fclose(fp);
50 if ((psiconv_parse(buf,&psionfile))) { 58 if ((psiconv_parse(config,buf,&psionfile))) {
51 fprintf(stderr,"Parse error\n"); 59 fprintf(stderr,"Parse error\n");
52 exit(1); 60 exit(1);
53 } 61 }
54 62
55 psiconv_buffer_free(buf); 63 psiconv_buffer_free(buf);
56 buf = NULL; 64 buf = NULL;
57 if (psiconv_write(&buf,psionfile)) { 65 if (psiconv_write(config,&buf,psionfile)) {
58 fprintf(stderr,"Generate error\n"); 66 fprintf(stderr,"Generate error\n");
59 exit(1); 67 exit(1);
60 } 68 }
61 psiconv_free_file(psionfile); 69 psiconv_free_file(psionfile);
62 if (!(fp = fopen(argv[2],"w"))) { 70 if (!(fp = fopen(argv[2],"w"))) {
65 } 73 }
66 if ((psiconv_buffer_fwrite_all(buf,fp))) { 74 if ((psiconv_buffer_fwrite_all(buf,fp))) {
67 perror("Can't fwrite file"); 75 perror("Can't fwrite file");
68 exit(1); 76 exit(1);
69 } 77 }
78 fclose(fp);
70 psiconv_buffer_free(buf); 79 psiconv_buffer_free(buf);
71 exit(0); 80 exit(0);
72} 81}

Legend:
Removed from v.142  
changed lines
  Added in v.180

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26