]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ipfilter/lib/hexdump.c
This commit was generated by cvs2svn to compensate for changes in r155506,
[FreeBSD/FreeBSD.git] / contrib / ipfilter / lib / hexdump.c
1 /*      $FreeBSD$       */
2
3 #include <ctype.h>
4
5 #include "ipf.h"
6
7 void hexdump(out, addr, len, ascii)
8 FILE *out;
9 void *addr;
10 int len, ascii;
11 {
12         FILE *fpout;
13         u_char *s, *t;
14         int i;
15
16         fpout = out ? out : stdout;
17         for (i = 0, s = addr; i < len; i++, s++) {
18                 fprintf(fpout, "%02x", *s);
19                 if (i % 16 == 15) {
20                         if (ascii != 0) {
21                                 fputc('\t', fpout);
22                                 for (t = s - 15; t<= s; t++)
23                                         fputc(ISPRINT(*t) ? *t : '.', fpout);
24                         }
25                         fputc('\n', fpout);
26                 } else if (i % 4 == 3) {
27                         fputc(' ', fpout);
28                 }
29         }
30 }