From: Ondrej Oprala Date: Mon, 23 Sep 2013 13:39:30 +0000 (+0200) Subject: hexdump: minor formatting improvements in display() X-Git-Tag: v2.25-rc1~752 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cda433918e35c300862ae7e3c901235603eb8740;p=thirdparty%2Futil-linux.git hexdump: minor formatting improvements in display() Signed-off-by: Ondrej Oprala Signed-off-by: Karel Zak --- 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) {