- fprintf(stderr, "checking %s\n", av[optind]);
- return !checkfile(av[optind], want,perr,quiet);
+ int type;
+ char *fn;
+
+ fn = av[optind];
+ if (verbose) fprintf(stderr, "checking %s\n", av[optind]);
+ type = checkfile(fn,want,perr);
+
+ 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;
+ }
+ }
+
+ if (printname) {
+ printf("%s%s", printtype ? " " : "", fn);
+ }
+ if (printtype || printname) printf("\n");
+
+ return type & want ? 0 : 1;