From 7dab73c677e0e50aed4813f0301241ffead666ce Mon Sep 17 00:00:00 2001 From: Roland Hieber Date: Tue, 20 Nov 2018 23:57:13 +0100 Subject: memory_display: add padding to simplify counting Trying to count single bytes (e.g. when adding an offset) in 'word' or 'byte' output mode is not easy in the current formatting, and (at least for me) has a high chance of miscounting or losing track of groups: barebox@boardname:/ md -b 0x149983f0+32 149983f0: 18 00 00 00 00 00 0d 86 00 00 00 00 00 00 00 00 ................ 14998400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ barebox@boardname:/ md -w 0x149983f0+32 149983f0: 0018 0000 0000 860d 0000 0000 0000 0000 ................ 14998400: 0000 0000 0000 0000 0000 0000 0000 0000 ................ With an additional space after 8 bytes, counting becomes easier: barebox@boardname:/ md -b 0x149983f0+32 149983f0: 18 00 00 00 00 00 0d 86 00 00 00 00 00 00 00 00 ................ 14998400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ barebox@boardname:/ md -w 0x149983f0+32 149983f0: 0018 0000 0000 860d 0000 0000 0000 0000 ................ 14998400: 0000 0000 0000 0000 0000 0000 0000 0000 ................ The 'quad' and 'long' output modes stay the same and are already much more easier to count because they build bigger and therefore less groups of bytes per line. Signed-off-by: Roland Hieber Signed-off-by: Sascha Hauer --- common/memory_display.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'common') diff --git a/common/memory_display.c b/common/memory_display.c index ea91985e5d..30821cced4 100644 --- a/common/memory_display.c +++ b/common/memory_display.c @@ -58,6 +58,8 @@ int memory_display(const void *addr, loff_t offs, unsigned nbytes, int size, int res = *((uint16_t *)addr); if (swab) res = __swab16(res); + if (i > 1 && i % 8 == 0) + count -= printf(" "); if (data_abort_unmask()) { res = 0xffff; count -= printf(" xxxx"); @@ -69,6 +71,8 @@ int memory_display(const void *addr, loff_t offs, unsigned nbytes, int size, int uint8_t res; data_abort_mask(); res = *((uint8_t *)addr); + if (i > 1 && i % 8 == 0) + count -= printf(" "); if (data_abort_unmask()) { res = 0xff; count -= printf(" xx"); -- cgit v1.2.3