diff options
author | Warner Losh <imp@FreeBSD.org> | 2008-11-20 03:30:27 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2008-11-20 03:30:27 +0000 |
commit | 2bbc3fd5f68b12631ad0ed45db284073c7d4512f (patch) | |
tree | 0f511a6ad72c2b9e38dcc3a614f0b00de9d4c034 /usr.sbin/dumpcis/main.c | |
parent | e363ea0fabf7fedf6eff089f65a1743488d2a050 (diff) | |
download | src-2bbc3fd5f68b12631ad0ed45db284073c7d4512f.tar.gz src-2bbc3fd5f68b12631ad0ed45db284073c7d4512f.zip |
Simplify: move dumpcis.c and dumpcisfile.c into main.
Notes
Notes:
svn path=/head/; revision=185114
Diffstat (limited to 'usr.sbin/dumpcis/main.c')
-rw-r--r-- | usr.sbin/dumpcis/main.c | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/usr.sbin/dumpcis/main.c b/usr.sbin/dumpcis/main.c index 317195c1f8e1..d721b0af65ac 100644 --- a/usr.sbin/dumpcis/main.c +++ b/usr.sbin/dumpcis/main.c @@ -25,10 +25,50 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -int dumpcisfile_main(int, char **); +#include <fcntl.h> +#include <stdio.h> +#include <unistd.h> +#include "readcis.h" + +void +dump(unsigned char *p, int sz) +{ + int ad = 0, i; + + while (sz > 0) { + printf("%03x: ", ad); + for (i = 0; i < ((sz < 16) ? sz : 16); i++) + printf(" %02x", p[i]); + printf("\n"); + sz -= 16; + p += 16; + ad += 16; + } +} + +static void +scanfile(char *name) +{ + int fd; + struct cis *cp; + + fd = open(name, O_RDONLY); + if (fd < 0) + return; + cp = readcis(fd); + if (cp) { + printf("Configuration data for file %s\n", + name); + dumpcis(cp); + freecis(cp); + } + close(fd); +} int main(int argc, char **argv) { - return dumpcisfile_main(argc, argv); + for (argc--, argv++; argc; argc--, argv++) + scanfile(*argv); + return 0; } |