summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Voelker <mail@bernhard-voelker.de>2014-03-26 09:02:42 +0100
committerBernhard Voelker <mail@bernhard-voelker.de>2014-03-26 11:29:53 +0100
commit5de5d8a5c0aa864bbf79a299cf5b9d5a1547941a (patch)
treea64ea5bbaac0a3f28dfb3bd7b68e933618758e38
parent25c2f0d617259ed9bf9398b5042db78c8d17245d (diff)
downloadcoreutils-5de5d8a5c0aa864bbf79a299cf5b9d5a1547941a.tar.xz
ptx: avoid --format long option falling through into --help
* src/ptx.c (main): Add a 'break' after the --format handling case. Otherwise it would fall through into the usage case. * tests/misc/ptx.pl: Add test cases for --format=tex and --format=roff. * NEWS (Bug fixes): Mention the fix. Bug introduced in 1999-04-04 commit, SH-UTILS-1_16f-269-gd815c15. Spotted by coverity (MISSING_BREAK).
-rw-r--r--NEWS3
-rw-r--r--src/ptx.c2
-rwxr-xr-xtests/misc/ptx.pl7
3 files changed, 12 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index f68ab4f7c..582f06082 100644
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,9 @@ GNU coreutils NEWS -*- outline -*-
ln -sr '' F no longer segfaults. Now works as expected.
[bug introduced with the --relative feature in coreutils-8.16]
+ ptx --format long option parsing no longer falls through into the --help case.
+ [bug introduced in TEXTUTILS-1_22i]
+
shuf --repeat no longer dumps core if the input is empty.
[bug introduced with the --repeat feature in coreutils-8.22]
diff --git a/src/ptx.c b/src/ptx.c
index 99da0cb5b..be342eefc 100644
--- a/src/ptx.c
+++ b/src/ptx.c
@@ -2015,6 +2015,8 @@ main (int argc, char **argv)
case 10:
output_format = XARGMATCH ("--format", optarg,
format_args, format_vals);
+ break;
+
case_GETOPT_HELP_CHAR;
case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
diff --git a/tests/misc/ptx.pl b/tests/misc/ptx.pl
index 2db953a92..8a91d616a 100755
--- a/tests/misc/ptx.pl
+++ b/tests/misc/ptx.pl
@@ -33,6 +33,13 @@ my @Tests =
# with coreutils-6.12 and earlier, this would act like "ptx F1 F1"
["2files", '-g1 -w1', {IN=>{F1=>"a"}}, {IN=>{F2=>"b"}}, {OUT=>" a\n b\n"}],
+
+# with coreutils-8.22 and earlier, the --format long option would
+# fall through into the --help case.
+["format-r", '--format=roff', {IN=>"foo\n"},
+ {OUT=>".xx \"\" \"\" \"foo\" \"\"\n"}],
+["format-t", '--format=tex', {IN=>"foo\n"},
+ {OUT=>"\\xx {}{}{foo}{}{}\n"}],
);
@Tests = triple_test \@Tests;