]>
Commit | Line | Data |
---|---|---|
58f594cd | 1 | /* A program to test BFD. |
b3adc24a | 2 | Copyright (C) 2012-2020 Free Software Foundation, Inc. |
58f594cd L |
3 | |
4 | This file is part of the GNU Binutils. | |
5 | ||
6 | This program is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 3 of the License, or | |
9 | (at your option) any later version. | |
10 | ||
11 | This program is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with this program; if not, write to the Free Software | |
18 | Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, | |
19 | MA 02110-1301, USA. */ | |
20 | ||
21 | #include "sysdep.h" | |
22 | #include "bfd.h" | |
23 | ||
24 | static void | |
25 | die (const char *s) | |
26 | { | |
27 | printf ("oops: %s\n", s); | |
28 | exit (1); | |
29 | } | |
30 | ||
31 | int | |
32 | main (int argc, char **argv) | |
33 | { | |
34 | bfd *archive; | |
35 | bfd *last, *next; | |
36 | ||
37 | if (argc != 2) | |
3bfcb652 | 38 | die ("usage: bfdtest1 <archive>"); |
58f594cd L |
39 | |
40 | archive = bfd_openr (argv[1], NULL); | |
3bfcb652 NC |
41 | if (archive == NULL) |
42 | die ("no such archive"); | |
58f594cd L |
43 | |
44 | if (!bfd_check_format (archive, bfd_archive)) | |
45 | { | |
46 | bfd_close (archive); | |
47 | die ("bfd_check_format"); | |
48 | } | |
49 | ||
50 | for (last = bfd_openr_next_archived_file (archive, NULL); | |
51 | last; | |
52 | last = next) | |
53 | { | |
54 | next = bfd_openr_next_archived_file (archive, last); | |
55 | bfd_close (last); | |
56 | } | |
57 | ||
58 | for (last = bfd_openr_next_archived_file (archive, NULL); | |
59 | last; | |
60 | last = next) | |
61 | { | |
62 | next = bfd_openr_next_archived_file (archive, last); | |
63 | bfd_close (last); | |
64 | } | |
65 | ||
66 | if (!bfd_close (archive)) | |
67 | die ("bfd_close"); | |
68 | ||
69 | return 0; | |
70 | } |