From: Chris Hofstaedtler Date: Tue, 23 Jun 2020 00:14:30 +0000 (+0000) Subject: hexdump: automatically use -C when called as hd X-Git-Tag: v2.37-rc1~557 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0aa83147ac69e6fa3429d6fd2268bd284e9e7c3;p=thirdparty%2Futil-linux.git hexdump: automatically use -C when called as hd When invoking hexdump as hd enable the "Canonical" format to by default, implying the -C option. This is historic behaviour on Debian and apparently also on FreeBSD. Some Debian users have asked for this to be restored, after Debian switched to util-linux' hexdump and hd. Signed-off-by: Chris Hofstaedtler --- diff --git a/text-utils/hexdump.1 b/text-utils/hexdump.1 index eb7713ce61..99b9d06361 100644 --- a/text-utils/hexdump.1 +++ b/text-utils/hexdump.1 @@ -67,6 +67,9 @@ by the same sixteen bytes in format enclosed in .RB ' | ' characters. +Invoking the program as +.B hd +implies this option. .TP \fB\-d\fR, \fB\-\-two\-bytes\-decimal\fR \fITwo-byte decimal display\fR. Display the input offset in hexadecimal, diff --git a/text-utils/hexdump.c b/text-utils/hexdump.c index d7a54be5bd..4068fb8d10 100644 --- a/text-utils/hexdump.c +++ b/text-utils/hexdump.c @@ -82,6 +82,13 @@ parse_args(int argc, char **argv, struct hexdump *hex) {NULL, no_argument, NULL, 0} }; + if (!strcmp(program_invocation_short_name, "hd")) { + /* Canonical format */ + add_fmt("\"%08.8_Ax\n\"", hex); + add_fmt("\"%08.8_ax \" 8/1 \"%02x \" \" \" 8/1 \"%02x \" ", hex); + add_fmt("\" |\" 16/1 \"%_p\" \"|\\n\"", hex); + } + while ((ch = getopt_long(argc, argv, "bcCde:f:L::n:os:vxhV", longopts, NULL)) != -1) { switch (ch) { case 'b':