traceroute: simpler hexdump()

function                                             old     new   delta
hexdump                                              270     239     -31

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2020-12-13 15:10:07 +01:00
parent b4b1828076
commit d067acb005

View File

@ -608,7 +608,7 @@ hexdump(const struct icmp *icp, int len)
const unsigned char *p; const unsigned char *p;
int i; int i;
printf("\n%d bytes from %s to %s: icmp type %d (%s) code %d\n", printf("\n%d bytes from %s to %s: icmp type %u (%s) code %u\n",
len, len,
auto_string(xmalloc_sockaddr2dotted_noport(&G.from_lsa->u.sa)), auto_string(xmalloc_sockaddr2dotted_noport(&G.from_lsa->u.sa)),
auto_string(xmalloc_sockaddr2dotted_noport(G.to)), auto_string(xmalloc_sockaddr2dotted_noport(G.to)),
@ -617,13 +617,9 @@ hexdump(const struct icmp *icp, int len)
); );
p = (const void *)icp; p = (const void *)icp;
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
if (i % 16 == 0) if (!(i & 0xf))
printf("%04x:", i); printf("\n%04x:" + (i==0), i);
if (i % 4 == 0) printf(" %02x", p[i]);
bb_putchar(' ');
printf("%02x", p[i]);
if ((i % 16 == 15) && (i + 1 < len))
bb_putchar('\n');
} }
bb_putchar('\n'); bb_putchar('\n');
} }
@ -706,7 +702,7 @@ packet4_ok(int read_len, int seq)
} }
} }
} }
if (verbose) if (verbose) /* testcase: traceroute -vI 127.0.0.1 (sees its own echo requests) */
hexdump(icp, read_len); hexdump(icp, read_len);
return 0; return 0;
} }