/[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 208
1/* 1/*
2 rewrite.c - Part of psiconv, a PSION 5 file formats converter 2 rewrite.c - Part of psiconv, a PSION 5 file formats converter
3 Copyright (c) 1999 Frodo Looijaard <frodol@dds.nl> 3 Copyright (c) 1999-2004 Frodo Looijaard <frodol@dds.nl>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
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);
80 psiconv_config_free(config);
71 exit(0); 81 exit(0);
72} 82}

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

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