diff options
author | imp <imp@FreeBSD.org> | 2008-11-20 03:30:27 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2008-11-20 03:30:27 +0000 |
commit | 06abad5ee384805c3c33e4643c24a31a9e7a034c (patch) | |
tree | 0f511a6ad72c2b9e38dcc3a614f0b00de9d4c034 /usr.sbin/dumpcis/main.c | |
parent | eef5d34a4a2068d2acca5684fb421f1d775f8047 (diff) | |
download | FreeBSD-src-06abad5ee384805c3c33e4643c24a31a9e7a034c.zip FreeBSD-src-06abad5ee384805c3c33e4643c24a31a9e7a034c.tar.gz |
Simplify: move dumpcis.c and dumpcisfile.c into main.
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 317195c..d721b0a 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; } |