view libcommon/hexdump.c @ 94:285fb9555530

doc/Low-level-commands: update-* commands documented
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 17 Feb 2021 19:54:57 +0000
parents f7145c77b7fb
children f1836c8d36cb
line wrap: on
line source

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

display_sim_resp_in_hex()
{
	unsigned off, cc, n, c;

	for (off = 0; off < sim_resp_data_len; off += cc) {
		printf("%02X:", off);
		cc = 16;
		if (sim_resp_data_len - off < cc)
			cc = sim_resp_data_len - off;
		for (n = 0; n < 16; n++) {
			if (n == 0 || n == 8)
				putchar(' ');
			putchar(' ');
			if (n < cc)
				printf("%02X", sim_resp_data[off + n]);
			else {
				putchar(' ');
				putchar(' ');
			}
		}
		putchar(' ');
		putchar(' ');
		for (n = 0; n < cc; n++) {
			c = sim_resp_data[off + n];
			if (c < 0x20 || c > 0x7E)
				c = '.';
			putchar(c);
		}
		putchar('\n');
	}
	return(0);
}