On Tue, Nov 20, 2018 at 11:57:13PM +0100, Roland Hieber wrote: > 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 <r.hieber@xxxxxxxxxxxxxx> > --- Nice ;) Applied, thanks Sascha > common/memory_display.c | 4 ++++ > 1 file changed, 4 insertions(+) > > 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 > @@ -55,23 +55,27 @@ int memory_display(const void *addr, loff_t offs, unsigned nbytes, int size, int > } else if (size == 2) { > uint16_t res; > data_abort_mask(); > 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"); > } else { > count -= printf(" %04x", res); > } > *usp++ = res; > } else { > 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"); > } else { > count -= printf(" %02x", res); > } > -- > 2.19.1 > > > _______________________________________________ > barebox mailing list > barebox@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox