Add missing files
[bcusdk.git] / bcugen / viewimage.cpp
blob2be143f4d2d0353f26e552e60e24212cc9d848ef
1 /*
2 BCU SDK bcu development enviroment
3 Copyright (C) 2005-2011 Martin Koegler <mkoegler@auto.tuwien.ac.at>
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
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #include "image.h"
21 #include "common.h"
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include "loadimage.h"
26 int
27 main (int ac, char *ag[])
29 CArray p;
30 uchar buf[200];
31 bool dump = 0;
32 if (ac != 2 && ac != 3)
33 die (_("%s [-d] image"), ag[0]);
35 if (ac == 3 && strcmp (ag[1], "-d"))
36 die (_("%s [-d] image"), ag[0]);
37 if (ac == 3)
38 ag++, dump = 1;
40 FILE *f = fopen (ag[1], "r");
41 if (!f)
42 die (_("open of %s failed"), ag[1]);
44 while (!feof (f))
46 int i = fread (buf, 1, sizeof (buf), f);
47 p.setpart (buf, p (), i);
49 fclose (f);
51 if (dump)
52 printf ("%s", HexDump (p) ());
54 Image *i = Image::fromArray (p);
55 if (!i)
56 die (_("not a image"));
58 if (!i->isValid ())
59 die (_("not a valid image\n"));
61 printf ("%s\n", i->decode ()());
63 BCUImage *im;
65 BCU_LOAD_RESULT r = PrepareLoadImage (p, im);
67 printf ("%s\n", decodeBCULoadResult (r) ());
69 return 0;