From cda433918e35c300862ae7e3c901235603eb8740 Mon Sep 17 00:00:00 2001 From: Ondrej Oprala Date: Mon, 23 Sep 2013 15:39:30 +0200 Subject: [PATCH] hexdump: minor formatting improvements in display() Signed-off-by: Ondrej Oprala Signed-off-by: Karel Zak --- text-utils/display.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/text-utils/display.c b/text-utils/display.c index 475ec000d2..0782c9c120 100644 --- a/text-utils/display.c +++ b/text-utils/display.c @@ -189,33 +189,42 @@ void display(void) while ((bp = get()) != NULL) { fs = &fshead; savebp = bp; saveaddress = address; + list_for_each(p, fs) { fss = list_entry(p, FS, fslist); + list_for_each(q, &fss->fulist) { fu = list_entry(q, FU, fulist); + if (fu->flags&F_IGNORE) break; + cnt = fu->reps; + while (cnt) { list_for_each(r, &fu->prlist) { pr = list_entry(r, PR, prlist); - if (eaddress && address >= eaddress && - !(pr->flags&(F_TEXT|F_BPAD))) - bpad(pr); - if (cnt == 1 && pr->nospace) { - savech = *pr->nospace; - *pr->nospace = '\0'; - } - print(pr, bp); - if (cnt == 1 && pr->nospace) - *pr->nospace = savech; - address += pr->bcnt; - bp += pr->bcnt; + + if (eaddress && address >= eaddress + && !(pr->flags&(F_TEXT|F_BPAD))) + bpad(pr); + + if (cnt == 1 && pr->nospace) { + savech = *pr->nospace; + *pr->nospace = '\0'; + print(pr, bp); + *pr->nospace = savech; + } else + print(pr, bp); + + address += pr->bcnt; + bp += pr->bcnt; } --cnt; } } - bp = savebp; address = saveaddress; + bp = savebp; + address = saveaddress; } } if (endfu) { -- 2.47.3