X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=elf%2Felftype.c;h=d9b253a2249458208fb82e642d489610eb82a285;hb=042f84f74cd182f06d666781b67b015835bcf407;hp=7d3365da262463fd1e311cde15cdd435fc1f86a4;hpb=d17a93e463656f234174c65b1a97b9e4fda7e505;p=zpackage diff --git a/elf/elftype.c b/elf/elftype.c index 7d3365d..d9b253a 100644 --- a/elf/elftype.c +++ b/elf/elftype.c @@ -7,7 +7,7 @@ #include #include -#include +#include "elf.h" #define RELOCATABLE 0x1 #define EXECUTABLE 0x2 @@ -62,10 +62,25 @@ int main(int ac, char **av) { 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); } }