xref: /freebsd/sbin/ipf/libipf/mb_hexdump.c (revision 221376db0cb77035e325baf8b54d6224925b41f8)
1 /*
2  * Copyright (C) 2012 by Darren Reed.
3  *
4  * See the IPFILTER.LICENCE file for details on licencing.
5  *
6  * $Id: mb_hexdump.c,v 1.1.2.3 2012/07/22 08:04:24 darren_r Exp $
7  */
8 
9 #include "ipf.h"
10 
11 void
12 mb_hexdump(m, fp)
13 	mb_t *m;
14 	FILE *fp;
15 {
16 	u_char *s;
17 	int len;
18 	int i;
19 
20 	for (; m != NULL; m = m->mb_next) {
21 		len = m->mb_len;
22 		for (s = (u_char *)m->mb_data, i = 0; i < len; i++) {
23 			fprintf(fp, "%02x", *s++ & 0xff);
24 			if (len - i > 1) {
25 				i++;
26 				fprintf(fp, "%02x", *s++ & 0xff);
27 			}
28 			fputc(' ', fp);
29 		}
30 	}
31 	fputc('\n', fp);
32 }
33