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