source: git/src/imgtest.c @ 57cecaa

RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since 57cecaa was 57cecaa, checked in by Olly Betts <olly@…>, 10 years ago

src/Makefile.am,src/imgtest.c: Add compile test that img.c and img.h
work in non-hosted mode.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1/* imgtest.c */
2/* Test img in unhosted mode */
3/* Copyright (C) 2014 Olly Betts
4 *
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.
9 *
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.
14 *
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
18 */
19
20#ifdef HAVE_CONFIG_H
21# include <config.h>
22#endif
23
24#include <stdio.h>
25
26#include "img.h"
27
28int
29main(int argc, char **argv)
30{
31    char *fnm;
32    img *pimg;
33    unsigned long c_stations = 0;
34    unsigned long c_legs = 0;
35
36    if (argc != 2) {
37        fprintf(stderr, "Syntax: %s 3DFILE\n", argv[0]);
38        return 1;
39    }
40
41    fnm = argv[1];
42
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;
48    }
49
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;
71        }
72    }
73
74    printf("Stations: %d\nLegs: %d\n", c_stations, c_legs);
75
76    img_close(pimg);
77
78    return 0;
79}
Note: See TracBrowser for help on using the repository browser.