This adds a `-x`/`--verbose-hex` option to `cmp`, similar to what FreeBSD has in
its own `cmp`. From `doc/diffutils.texi`:
'-x'
'--verbose-hex'
Like '--verbose', but with hexadecimal numbers, and byte numbers
starting at 0.
A few assorted points:
* `cmp -x` always displays a minimum of eight hex digits, just like FreeBSD's
implementation.
* `offtostr` only does decimal, so it was removed in a few places where
hexadecimal was called for.
* Some of the format strings had `%s` replaced with `%"PRIuMAX"`, in part
because of GCC's new `-Wformat-overflow` feature. These strings are translated,
and because it was a simple fix, I updated the `.po` files.
* For `-x`, I replaced "EOF on FILE after byte 511" to "EOF on FILE at byte
0x200". I think it's a bit more useful this way.
* I believe the Malay (`ms.po`) translation needs a bit of attention at this
spot regarding the printf format string:
```
#: src/cmp.c:592
#, fuzzy, c-format
#| msgid "cmp: EOF on %s\n"
msgid "cmp: EOF on %s after byte %s\n"
msgstr "%s: EOF tidak dijangka selepas membaca %d/%d bins\n"
```
This is a bit more than the 15-or-so lines of code that are "not legally
significant for copyright", so let me know if there's paperwork that needs to be
filled out.
Dave Odell
--- a/bg.po
+++ b/bg.po
@@ -654,18 +654,18 @@ msgstr "cmp: âEOFâ в пÑÐ°Ð·Ð½Ð¸Ñ â%sâ\n"
#: src/cmp.c:585
#, c-format
-msgid "cmp: EOF on %s after byte %s, line %s\n"
-msgstr "cmp: âEOFâ в â%sâ Ñлед Ð±Ð°Ð¹Ñ %s, Ñед %s\n"
+msgid "cmp: EOF on %s after byte %, line %\n"
+msgstr "cmp: âEOFâ в â%sâ Ñлед Ð±Ð°Ð¹Ñ %, Ñед %\n"
#: src/cmp.c:586
#, c-format
-msgid "cmp: EOF on %s after byte %s, in line %s\n"
-msgstr "cmp: âEOFâ в â%sâ Ñлед Ð±Ð°Ð¹Ñ %s, на Ñед %s\n"
+msgid "cmp: EOF on %s after byte %, in line %\n"
+msgstr "cmp: âEOFâ в â%sâ Ñлед Ð±Ð°Ð¹Ñ %, на Ñед %\n"
#: src/cmp.c:592
#, c-format
-msgid "cmp: EOF on %s after byte %s\n"
-msgstr "cmp: âEOFâ в â%sâ Ñлед Ð±Ð°Ð¹Ñ %s\n"
+msgid "cmp: EOF on %s after byte %\n"
+msgstr "cmp: âEOFâ в â%sâ Ñлед Ð±Ð°Ð¹Ñ %\n"
#. This is a proper name. See the gettext manual, section Names.
#: src/diff.c:50
--- a/cs.po
+++ b/cs.po
@@ -649,18 +649,18 @@ msgstr "cmp: konec souboru v %s, který je prázdný\n"
#: src/cmp.c:585
#, c-format
-msgid "cmp: EOF on %s after byte %s, line %s\n"
-msgstr "cmp: konec souboru v %s po bajtu %s, Åádek %s\n"
+msgid "cmp: EOF on %s after byte %, line %\n"
+msgstr "cmp: konec souboru v %s po bajtu %, Åádek %\n"
#: src/cmp.c:586
#, c-format
-msgid "cmp: EOF on %s after byte %s, in line %s\n"
-msgstr "cmp: konec souboru v %s po bajtu %s na Åádku %s\n"
+msgid "cmp: EOF on %s after byte %, in line %\n"
+msgstr "cmp: konec souboru v %s po bajtu % na Åádku %\n"
#: src/cmp.c:592
#, c-format
-msgid "cmp: EOF on %s after byte %s\n"
-msgstr "cmp: konec souboru v %s po bajtu %s\n"
+msgid "cmp: EOF on %s after byte %\n"
+msgstr "cmp: konec souboru v %s po bajtu %\n"
#. This is a proper name. See the gettext manual, section Names.
#: src/diff.c:50
--- a/da.po
+++ b/da.po
@@ -650,18 +650,18 @@ msgstr "cmp: filafslutning på %s som er tom\n"
#: src/cmp.c:585
#, c-format
-msgid "cmp: EOF on %s after byte %s, line %s\n"
-msgstr "cmp: filafslutning på %s efter byte %s, linje %s\n"
+msgid "cmp: EOF on %s after byte %, line %\n"
+msgstr "cmp: filafslutning på %s efter byte %, linje %\n"
#: src/cmp.c:586
#, c-format
-msgid "cmp: EOF on %s after byte %s, in line %s\n"
-msgstr "cmp: filafslutning på %s efter byte %s i linje %s\n"
+msgid "cmp: EOF on %s after byte %, in line %\n"
+msgstr "cmp: filafslutning på %s efter byte % i linje %\n"
#: src/cmp.c:592
#, c-format
-msgid "cmp: EOF on %s after byte %s\n"
-msgstr "cmp: filafslutning på %s efter byte %s\n"
+msgid "cmp: EOF on %s after byte %\n"
+msgstr "cmp: filafslutning på %s efter byte %\n"
#. This is a proper name. See the gettext manual, section Names.
#: src/diff.c:50
--- a/de.po
+++ b/de.po
@@ -658,18 +658,18 @@ msgstr "cmp: Dateiende in %s, welche leer ist.\n"
#: src/cmp.c:585
#, c-format
-msgid "cmp: EOF on %s after byte %s, line %s\n"
-msgstr "cmp: Dateiende in %s nach Byte %s, Zeile %s\n"
+msgid "cmp: EOF on %s after byte %, line %\n"
+msgstr "cmp: Dateiende in %s nach Byte %, Zeile %\n"
#: src/cmp.c:586
#, c-format
-msgid "cmp: EOF on %s after byte %s, in line %s\n"
-msgstr "cmp: Dateiende in %s nach Byte %s, Zeile %s\n"
+msgid "cmp: EOF on %s after byte %, in line %\n"
+msgstr "cmp: Dateiende in %s nach Byte %, Zeile %\n"
#: src/cmp.c:592
#, c-format
-msgid "cmp: EOF on %s after byte %s\n"
-msgstr "cmp: Dateiende in %s nach Byte %s\n"
+msgid "cmp: EOF on %s after byte %\n"
+msgstr "cmp: Dateiende in %s nach Byte %\n"
#. This is a proper name. See the gettext manual, section Names.
#: src/diff.c:50
--- a/el.po
+++ b/el.po
@@ -651,18 +651,18 @@ msgstr "cmp: EOF ÏÏο %s ÏοÏ
είÎ