Fix coding style
[survex.git] / src / imgtest.c
blobeb9083c27e3cbb33889f8738ad7d94848eeae232
1 /* imgtest.c */
2 /* Test img in unhosted mode */
3 /* Copyright (C) 2014 Olly Betts
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 St, Fifth Floor, Boston, MA 02110-1301 USA
20 #ifdef HAVE_CONFIG_H
21 # include <config.h>
22 #endif
24 #include <stdio.h>
26 #include "img.h"
28 int
29 main(int argc, char **argv)
31 char *fnm;
32 img *pimg;
33 unsigned long c_stations = 0;
34 unsigned long c_legs = 0;
36 if (argc != 2) {
37 fprintf(stderr, "Syntax: %s 3DFILE\n", argv[0]);
38 return 1;
41 fnm = argv[1];
43 pimg = img_open(fnm);
44 if (!pimg) {
45 fprintf(stderr, "%s: Failed to open '%s' (error code %d)\n",
46 argv[0], fnm, (int)img_error());
47 return 1;
50 printf("Title: \"%s\"\n", pimg->title);
51 printf("Date: \"%s\"\n", pimg->datestamp);
52 printf("Format-Version: %d\n", pimg->version);
53 printf("Extended-Elevation: %s\n",
54 pimg->is_extended_elevation ? "yes" : "no");
55 while (1) {
56 img_point pt;
57 int code = img_read_item(pimg, &pt);
58 if (code == img_STOP) break;
59 switch (code) {
60 case img_LINE:
61 c_legs++;
62 break;
63 case img_LABEL:
64 c_stations++;
65 break;
66 case img_BAD:
67 img_close(pimg);
68 fprintf(stderr, "%s: img_read_item failed (error code %d)\n",
69 argv[0], (int)img_error());
70 return 1;
74 printf("Stations: %lu\nLegs: %lu\n", c_stations, c_legs);
76 img_close(pimg);
78 return 0;