Date: Thu, 4 Apr 2002 20:40:45 -0800 (PST) From: Gerald Stoller <Gerald_Stoller@hotmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: i386/36774: The hexdump & od commands doesn't present the input data in the same order among their various formats on the IBM PC Message-ID: <200204050440.g354ejf54146@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 36774
>Category: i386
>Synopsis: The hexdump & od commands doesn't present the input data in the same order among their various formats on the IBM PC
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Apr 04 20:50:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Gerald Stoller
>Release: 4.3
>Organization:
self
>Environment:
FreeBSD 4.3-RELEASE FreeBSD 4.3-RELEASE #0: Sat Apr 21 10:54:49 GMT 2001
jkh@narf.osd.bsdi.com:/usr/src/sys/compile/GENERIC i386
>Description:
The hexdump & od commands doesn't present the input data in
the same order among their various formats on the IBM PC (due to the
order-difference between bytes in byte-pairs and shorts [little-endian]).
For hexdump , look at the pipeline
echo -123- | hexdump -cxo
whose output is
0000000 - 1 2 3 - \n
0000000 312d 3332 0a2d
0000000 030455 031462 005055
0000006
and you can see the reversal of the pairs of bytes between the first
three lines, and also that the columns don't line up.
>How-To-Repeat:
Just execute the pipeline
echo -123- | hexdump -cxo
>Fix:
Don't use shorts (or the like) to pick up data in hexdump , use bytes only. 'Twould be better if the first three lines of the output were
0000000 - 1 2 3 - \n
0000000 2d 31 32 33 2d 0a
0000000 055 061 062 063 055 012
or something similar. Similar comments apply to od .
Naturally, the man pages would have to be updated.
One could change from 4 columns per byte to 3 columns per byte, only octal dumping will be without spaces between byte conversions in this new format, and as long as it is dumped with another format, but still do 4 columns per byte if only octal is dumped.
A nice feature to add would be a heading line and an option
(say -h ) stating the approximate # of output lines between heading
lines. A heading line would look like
address 0 1 2 3 4 5 6 7 8 9 a b c d e f
and -h would be followed by a positive integer expressing the
maximum # of lines between heading lines. The output goes out in
line groups, the # of lines in a line group is determined by the
# of formats to be displayed per byte (in the example above,
the line group size is 3 lines; if -h is followed by 20 ,
hexdump would place 18 lines [ 6 line groups] between heading lines).
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204050440.g354ejf54146>
