Reported by Trent Creekmore
[dahdi/tools.git] / xpp / test_parse.c
1 /*
2  * Written by Oron Peled <oron@actcom.co.il>
3  * Copyright (C) 2006, 2007, 2008, 2009 Xorcom
4  *
5  * All rights reserved.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  *
21  */
22
23 #include <stdio.h>
24 #include <stdarg.h>
25 #include "hexfile.h"
26
27 static void default_report_func(int level, const char *msg, ...)
28 {
29         va_list ap;
30
31         va_start(ap, msg);
32         vfprintf(stderr, msg, ap);
33         va_end(ap);
34 }
35
36 int main(int argc, char *argv[])
37 {
38         struct hexdata  *hd;
39         int             i;
40
41         if(argc < 2) {
42                 fprintf(stderr, "Usage: program hexfile...\n");
43                 return 1;
44         }
45         parse_hexfile_set_reporting(default_report_func);
46         for(i = 1; i < argc; i++) {
47                 hd = parse_hexfile(argv[i], 2000);
48                 if(!hd) {
49                         fprintf(stderr, "Parsing failed\n");
50                         return 1;
51                 }
52                 fprintf(stderr, "=== %s === (version: %s)\n", argv[i], hd->version_info);
53                 dump_hexfile2(hd, "-", 60 );
54                 free_hexdata(hd);
55         }
56         return 0;
57 }