summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-04-03 14:21:16 +0200
committerBram Moolenaar <Bram@vim.org>2018-04-03 14:21:16 +0200
commit79cf7c0d4574f15cfad5ad706f175e226c528f2a (patch)
tree338409f65cb4f134187737686328f09fe079e78a
parent9af9778209cd0cbb284f6ff7e88f707418089975 (diff)
downloadvim-git-79cf7c0d4574f15cfad5ad706f175e226c528f2a.tar.gz
patch 8.0.1658: capitalize argument not available in long formv8.0.1658
Problem: Capitalize argument not available in long form. Solution: Recognize -capitalize. Update man page.
-rw-r--r--runtime/doc/xxd.127
-rw-r--r--runtime/doc/xxd.man82
-rw-r--r--src/version.c2
-rw-r--r--src/xxd/xxd.c2
4 files changed, 62 insertions, 51 deletions
diff --git a/runtime/doc/xxd.1 b/runtime/doc/xxd.1
index 5a49e057a..46bfedc1e 100644
--- a/runtime/doc/xxd.1
+++ b/runtime/doc/xxd.1
@@ -57,7 +57,7 @@ are all equivalent.
.PP
.TP
.IR \-a " | " \-autoskip
-toggle autoskip: A single '*' replaces nul-lines. Default off.
+Toggle autoskip: A single '*' replaces nul-lines. Default off.
.TP
.IR \-b " | " \-bits
Switch to bits (binary digits) dump, rather than hexdump.
@@ -67,10 +67,13 @@ followed by an ascii (or ebcdic) representation. The command line switches
\-r, \-p, \-i do not work with this mode.
.TP
.IR "\-c cols " | " \-cols cols"
-format
+Format
.RI < cols >
octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
.TP
+.IR \-C " | " \-capitalize
+Capitalize variable names in C include file style, when using \-i.
+.TP
.IR \-E " | " \-EBCDIC
Change the character encoding in the righthand column from ASCII to EBCDIC.
This does not change the hexadecimal representation. The option is
@@ -87,7 +90,7 @@ The command line switches
\-r, \-p, \-i do not work with this mode.
.TP
.IR "\-g bytes " | " \-groupsize bytes"
-separate the output of every
+Separate the output of every
.RI < bytes >
bytes (two hex characters or eight bit-digits each) by a whitespace.
Specify
@@ -98,28 +101,28 @@ in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode.
Grouping does not apply to postscript or include style.
.TP
.IR \-h " | " \-help
-print a summary of available commands and exit. No hex dumping is performed.
+Print a summary of available commands and exit. No hex dumping is performed.
.TP
.IR \-i " | " \-include
-output in C include file style. A complete static array definition is written
+Output in C include file style. A complete static array definition is written
(named after the input file), unless xxd reads from stdin.
.TP
.IR "\-l len " | " \-len len"
-stop after writing
+Stop after writing
.RI < len >
octets.
.TP
.I \-o offset
-add
+Add
.RI < offset >
to the displayed file position.
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
-output in postscript continuous hexdump style. Also known as plain hexdump
+Output in postscript continuous hexdump style. Also known as plain hexdump
style.
.TP
.IR \-r " | " \-revert
-reverse operation: convert (or patch) hexdump into binary.
+Reverse operation: convert (or patch) hexdump into binary.
If not writing to stdout, xxd writes into its output file without truncating
it. Use the combination
.I \-r \-p
@@ -135,7 +138,7 @@ revert with
added to file positions found in hexdump.
.TP
.I \-s [+][\-]seek
-start at
+Start at
.RI < seek >
bytes abs. (or rel.) infile offset.
\fI+ \fRindicates that the seek is relative to the current stdin file position
@@ -145,10 +148,10 @@ should be that many characters from the end of the input (or if combined with
Without \-s option, xxd starts at the current file position.
.TP
.I \-u
-use upper case hex letters. Default is lower case.
+Use upper case hex letters. Default is lower case.
.TP
.IR \-v " | " \-version
-show version string.
+Show version string.
.SH CAVEATS
.PP
.I xxd \-r
diff --git a/runtime/doc/xxd.man b/runtime/doc/xxd.man
index 7e1097fa9..607db8aa9 100644
--- a/runtime/doc/xxd.man
+++ b/runtime/doc/xxd.man
@@ -30,7 +30,7 @@ OPTIONS
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
-a | -autoskip
- toggle autoskip: A single '*' replaces nul-lines. Default off.
+ Toggle autoskip: A single '*' replaces nul-lines. Default off.
-b | -bits
Switch to bits (binary digits) dump, rather than hexdump. This
@@ -41,9 +41,13 @@ OPTIONS
mode.
-c cols | -cols cols
- format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
+ Format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
6). Max 256.
+ -C | -capitalize
+ Capitalize variable names in C include file style, when using
+ -i.
+
-E | -EBCDIC
Change the character encoding in the righthand column from ASCII
to EBCDIC. This does not change the hexadecimal representation.
@@ -52,41 +56,41 @@ OPTIONS
-e Switch to little-endian hexdump. This option treats byte groups
as words in little-endian byte order. The default grouping of 4
bytes may be changed using -g. This option only applies to hex‐
- dump, leaving the ASCII (or EBCDIC) representation unchanged.
+ dump, leaving the ASCII (or EBCDIC) representation unchanged.
The command line switches -r, -p, -i do not work with this mode.
-g bytes | -groupsize bytes
- separate the output of every <bytes> bytes (two hex characters
+ Separate the output of every <bytes> bytes (two hex characters
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
- tle-endian mode and 1 in bits mode. Grouping does not apply to
+ tle-endian mode and 1 in bits mode. Grouping does not apply to
postscript or include style.
-h | -help
- print a summary of available commands and exit. No hex dumping
+ Print a summary of available commands and exit. No hex dumping
is performed.
-i | -include
- output in C include file style. A complete static array defini‐
- tion is written (named after the input file), unless xxd reads
+ Output in C include file style. A complete static array defini‐
+ tion is written (named after the input file), unless xxd reads
from stdin.
-l len | -len len
- stop after writing <len> octets.
+ Stop after writing <len> octets.
-o offset
- add <offset> to the displayed file position.
+ Add <offset> to the displayed file position.
-p | -ps | -postscript | -plain
- output in postscript continuous hexdump style. Also known as
+ Output in postscript continuous hexdump style. Also known as
plain hexdump style.
-r | -revert
- reverse operation: convert (or patch) hexdump into binary. If
- not writing to stdout, xxd writes into its output file without
+ Reverse operation: convert (or patch) hexdump into binary. If
+ not writing to stdout, xxd writes into its output file without
truncating it. Use the combination -r -p to read plain hexadeci‐
mal dumps without line number information and without a particu‐
- lar column layout. Additional Whitespace and line-breaks are
+ lar column layout. Additional Whitespace and line-breaks are
allowed anywhere.
-seek offset
@@ -94,34 +98,34 @@ OPTIONS
found in hexdump.
-s [+][-]seek
- start at <seek> bytes abs. (or rel.) infile offset. + indicates
- that the seek is relative to the current stdin file position
+ Start at <seek> bytes abs. (or rel.) infile offset. + indicates
+ that the seek is relative to the current stdin file position
(meaningless when not reading from stdin). - indicates that the
- seek should be that many characters from the end of the input
+ seek should be that many characters from the end of the input
(or if combined with +: before the current stdin file position).
Without -s option, xxd starts at the current file position.
- -u use upper case hex letters. Default is lower case.
+ -u Use upper case hex letters. Default is lower case.
-v | -version
- show version string.
+ Show version string.
CAVEATS
xxd -r has some builtin magic while evaluating line number information.
- If the output file is seekable, then the linenumbers at the start of
- each hexdump line may be out of order, lines may be missing, or over‐
- lapping. In these cases xxd will lseek(2) to the next position. If the
- output file is not seekable, only gaps are allowed, which will be
+ If the output file is seekable, then the linenumbers at the start of
+ each hexdump line may be out of order, lines may be missing, or over‐
+ lapping. In these cases xxd will lseek(2) to the next position. If the
+ output file is not seekable, only gaps are allowed, which will be
filled by null-bytes.
xxd -r never generates parse errors. Garbage is silently skipped.
- When editing hexdumps, please note that xxd -r skips everything on the
+ When editing hexdumps, please note that xxd -r skips everything on the
input line after reading enough columns of hexadecimal data (see option
- -c). This also means, that changes to the printable ascii (or ebcdic)
- columns are always ignored. Reverting a plain (or postscript) style
- hexdump with xxd -r -p does not depend on the correct number of col‐
- umns. Here anything that looks like a pair of hex-digits is inter‐
+ -c). This also means, that changes to the printable ascii (or ebcdic)
+ columns are always ignored. Reverting a plain (or postscript) style
+ hexdump with xxd -r -p does not depend on the correct number of col‐
+ umns. Here anything that looks like a pair of hex-digits is inter‐
preted.
Note the difference between
@@ -129,28 +133,28 @@ CAVEATS
and
% xxd -i < file
- xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
+ xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
"rewind" input. A '+' makes a difference if the input source is stdin,
- and if stdin's file position is not at the start of the file by the
- time xxd is started and given its input. The following examples may
+ and if stdin's file position is not at the start of the file by the
+ time xxd is started and given its input. The following examples may
help to clarify (or further confuse!)...
- Rewind stdin before reading; needed because the `cat' has already read
+ Rewind stdin before reading; needed because the `cat' has already read
to the end of stdin.
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
- Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
+ Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
means "relative to the current position", thus the `128' adds to the 1k
where dd left off.
- % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
+ % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
< file
Hexdump from file position 0x100 ( = 1024-768) on.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
< file
- However, this is a rare situation and the use of `+' is rarely needed.
- The author prefers to monitor the effect of xxd with strace(1) or
+ However, this is a rare situation and the use of `+' is rarely needed.
+ The author prefers to monitor the effect of xxd with strace(1) or
truss(1), whenever -s is used.
EXAMPLES
@@ -194,7 +198,7 @@ EXAMPLES
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
- Create a 65537 byte file with all bytes 0x00, except for the last one
+ Create a 65537 byte file with all bytes 0x00, except for the last one
which is 'A' (hex 0x41).
% echo "010000: 41" | xxd -r > file
@@ -204,7 +208,7 @@ EXAMPLES
*
000fffc: 0000 0000 40 ....A
- Create a 1 byte file containing a single 'A' character. The number
+ Create a 1 byte file containing a single 'A' character. The number
after '-r -s' adds to the linenumbers found in the file; in effect, the
leading bytes are suppressed.
% echo "010000: 41" | xxd -r -s -0x10000 > file
@@ -245,7 +249,7 @@ SEE ALSO
uuencode(1), uudecode(1), patch(1)
WARNINGS
- The tools weirdness matches its creators brain. Use entirely at your
+ The tools weirdness matches its creators brain. Use entirely at your
own risk. Copy files. Trace it. Become a wizard.
VERSION
diff --git a/src/version.c b/src/version.c
index 1178d9b2a..ac06f387a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1658,
+/**/
1657,
/**/
1656,
diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c
index bbd9c08a3..d102db451 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -510,6 +510,8 @@ main(int argc, char *argv[])
{
if (pp[2] && STRNCMP("ols", pp + 2, 3))
cols = (int)strtol(pp + 2, NULL, 0);
+ else if (pp[2] && STRNCMP("apitalize", pp + 2, 9))
+ capitalize = 1;
else
{
if (!argv[2])