column: fix parsing of the '--nl' option
'git column's '--nl' option can be used to specify a "string to be
printed at the end of each line" (quoting the man page), but this
option and its mandatory argument has been parsed as OPT_INTEGER since
the introduction of the command in 7e29b8254f
(Add column layout
skeleton and git-column, 2012-04-21). Consequently, any non-number
argument is rejected by parse-options, and any number other than 0
leads to segfault:
$ printf "%s\n" one two |git column --mode=plain --nl=foo
error: option `nl' expects a numerical value
$ printf "%s\n" one two |git column --mode=plain --nl=42
Segmentation fault (core dumped)
$ printf "%s\n" one two |git column --mode=plain --nl=0
one
two
Parse this option as OPT_STRING.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
225bc32a98
commit
c93ca46cf5
@ -29,7 +29,7 @@ int cmd_column(int argc, const char **argv, const char *prefix)
|
||||
OPT_INTEGER(0, "raw-mode", &colopts, N_("layout to use")),
|
||||
OPT_INTEGER(0, "width", &copts.width, N_("maximum width")),
|
||||
OPT_STRING(0, "indent", &copts.indent, N_("string"), N_("padding space on left border")),
|
||||
OPT_INTEGER(0, "nl", &copts.nl, N_("padding space on right border")),
|
||||
OPT_STRING(0, "nl", &copts.nl, N_("string"), N_("padding space on right border")),
|
||||
OPT_INTEGER(0, "padding", &copts.padding, N_("padding space between columns")),
|
||||
OPT_END()
|
||||
};
|
||||
|
Reference in New Issue
Block a user