#include <stdio.h>
#include <stdlib.h>
-#include <elf.h>
+#include "elf.h"
#define RELOCATABLE 0x1
#define EXECUTABLE 0x2
case '0': zeroterm = 1; break;
case 'f':
if (optarg[0] == '-' && optarg[1] == 0) {
- fprintf(stderr, "opening stdin\n");
list = stdin;
} else {
list = fopen(optarg, "r");
if (!want) want = (RELOCATABLE|EXECUTABLE|DYNAMIC|CORE);
if (list) {
+ int type;
quiet = 2;
perr = 0;
while (readline(list, fn)) {
- if (checkfile(fn, want,perr,quiet)) {
+ if ((type = checkfile(fn, want,perr,quiet)) & want) {
+ if (printtype) {
+ switch (type) {
+ case RELOCATABLE:
+ printf("relocatable "); break;
+ case EXECUTABLE:
+ printf("executable "); break;
+ case DYNAMIC:
+ printf("dynamic "); break;
+ case CORE:
+ printf("core "); break;
+ default:
+ printf("notelf "); break;
+ }
+ }
printf("%s\n", fn);
}
}