summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder.dev@gmail.com>2021-08-18 09:24:56 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-08-26 21:36:27 (GMT)
commitc93ca46cf5d0b0cd22e357a6460fa84fd4633440 (patch)
tree6ba2683c1b2f8aa4e0756370737b44393ca8f6f4 /t
parent225bc32a989d7a22fa6addafd4ce7dcd04675dbf (diff)
downloadgit-c93ca46cf5d0b0cd22e357a6460fa84fd4633440.zip
git-c93ca46cf5d0b0cd22e357a6460fa84fd4633440.tar.gz
git-c93ca46cf5d0b0cd22e357a6460fa84fd4633440.tar.bz2
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>
Diffstat (limited to 't')
-rwxr-xr-xt/t9002-column.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/t/t9002-column.sh b/t/t9002-column.sh
index 8998352..6d3dbde 100755
--- a/t/t9002-column.sh
+++ b/t/t9002-column.sh
@@ -42,6 +42,24 @@ EOF
test_cmp expected actual
'
+test_expect_success '--nl' '
+ cat >expected <<\EOF &&
+oneZ
+twoZ
+threeZ
+fourZ
+fiveZ
+sixZ
+sevenZ
+eightZ
+nineZ
+tenZ
+elevenZ
+EOF
+ git column --nl="Z$LF" --mode=plain <lista >actual &&
+ test_cmp expected actual
+'
+
test_expect_success '80 columns' '
cat >expected <<\EOF &&
one two three four five six seven eight nine ten eleven