view uptools/libcoding/hexdump.c @ 561:392525355ee7

loadtools/scripts: gtm900.config renamed to gen4.config It turns out that a GTM900 variant exists with 8 MiB flash, thus -h gen8 needs to be used for GTM900 modules as the general case, and the old -h gtm900 config is best renamed to -h gen4, although not currently official for any actual target.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 30 Jan 2020 07:10:20 +0000
parents ead4ee22ef62
children
line wrap: on
line source

/*
 * This library module implements a simple hex dump facility.
 */

#include <sys/types.h>
#include <stdio.h>

msg_bits_hexdump(dumpbuf, dumplen)
	u_char *dumpbuf;
	unsigned dumplen;
{
	u_char *buf = dumpbuf;
	unsigned lineoff, linelen, i, c;

	for (lineoff = 0; lineoff < dumplen; ) {
		linelen = dumplen - lineoff;
		if (linelen > 16)
			linelen = 16;
		printf("%02X:  ", lineoff);
		for (i = 0; i < 16; i++) {
			if (i < linelen)
				printf("%02X ", buf[i]);
			else
				fputs("   ", stdout);
			if (i == 7 || i == 15)
				putchar(' ');
		}
		for (i = 0; i < linelen; i++) {
			c = buf[i];
			if (c < ' ' || c > '~')
				c = '.';
			putchar(c);
		}
		putchar('\n');
		buf += linelen;
		lineoff += linelen;
	}
}