From 294d0c85adcbcf48da1fc0f48dae3aed59c07436 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 25 Jun 2021 00:16:04 +0200 Subject: xxd: compat tweak for -i function old new delta xxd_main 888 893 +5 .rodata 103669 103674 +5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 10/0) Total: 10 bytes Signed-off-by: Denys Vlasenko --- util-linux/hexdump_xxd.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'util-linux') diff --git a/util-linux/hexdump_xxd.c b/util-linux/hexdump_xxd.c index aa215569f..fe78f6242 100644 --- a/util-linux/hexdump_xxd.c +++ b/util-linux/hexdump_xxd.c @@ -186,9 +186,11 @@ int xxd_main(int argc UNUSED_PARAM, char **argv) } else { if (cols == 0) cols = (opt & OPT_i) ? 12 : 16; - if (opt & OPT_i) - bytes = 1; /* -i ignores -gN */ - else + if (opt & OPT_i) { + bytes = 1; // -i ignores -gN + // output is " 0xXX, 0xXX, 0xXX...", add leading space + bb_dump_add(dumper, "\" \""); + } else bb_dump_add(dumper, "\"%08.8_ax: \""); // "address: " } @@ -197,14 +199,15 @@ int xxd_main(int argc UNUSED_PARAM, char **argv) } if (bytes < 1 || bytes >= cols) { - sprintf(buf, "%u/1 \"%%02x\"", cols); // cols * "xx" + sprintf(buf, "%u/1 \"%%02x\"", cols); // cols * "XX" bb_dump_add(dumper, buf); } else if (bytes == 1) { if (opt & OPT_i) - sprintf(buf, "%u/1 \" 0x%%02x,\"", cols); // cols * " 0xxx," + sprintf(buf, "%u/1 \" 0x%%02x,\"", cols); // cols * " 0xXX," +//TODO: compat: omit the last comma after the very last byte else - sprintf(buf, "%u/1 \"%%02x \"", cols); // cols * "xx " + sprintf(buf, "%u/1 \"%%02x \"", cols); // cols * "XX " bb_dump_add(dumper, buf); } else { -- cgit v1.2.3