From 60819a90d1771ab147d4641befc956a36b8084b8 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Mon, 24 Feb 2020 13:22:04 -0500 Subject: better printable character printing --- leet.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/leet.c b/leet.c index 0c5bb03..b166f80 100644 --- a/leet.c +++ b/leet.c @@ -17,21 +17,26 @@ void hexdump(uintmax_t address, size_t n, unsigned char buf[static n]) n = BUFSIZE; } - printf("\033[1m\r%015jx ", address); - for (size_t i = 0; i < n; i++) { - printf("\033[%hhdm%02hhx\033[0m ", COLOR(buf[i]), buf[i]); - usleep(100 * buf[i]); - } - for (size_t i = n; i < BUFSIZE; i++) { - printf("-- "); - } + unsigned char ch = buf[n - 1]; + for (int c = 0; c < ch; c++) { + buf[n - 1] = c; + + printf("\033[1m\r%015jx ", address); + for (size_t i = 0; i < n; i++) { + printf("\033[%hhdm%02hhx\033[0m ", COLOR(buf[i]), buf[i]); + //usleep(100 * buf[i]); + } + for (size_t i = n; i < BUFSIZE; i++) { + printf("-- "); + } - for (size_t i = 0; i < n; i++) { - printf("\033[%hhdm%c\033[0m", COLOR(buf[i]), isprint(buf[i]) ? buf[i] : '.'); - usleep(100 * buf[i]); - } - for (size_t i = n; i < 16; i++) { - printf("."); + for (size_t i = 0; i < n; i++) { + printf("\033[%hhdm%c\033[0m", COLOR(buf[i]), isprint(buf[i]) ? buf[i] : '.'); + usleep(100 * buf[i]); + } + for (size_t i = n; i < 16; i++) { + printf("."); + } } } -- cgit v1.2.1