diff options
author | Bernhard Voelker <mail@bernhard-voelker.de> | 2014-03-26 09:02:42 +0100 |
---|---|---|
committer | Bernhard Voelker <mail@bernhard-voelker.de> | 2014-03-26 11:29:53 +0100 |
commit | 5de5d8a5c0aa864bbf79a299cf5b9d5a1547941a (patch) | |
tree | a64ea5bbaac0a3f28dfb3bd7b68e933618758e38 | |
parent | 25c2f0d617259ed9bf9398b5042db78c8d17245d (diff) | |
download | coreutils-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-- | NEWS | 3 | ||||
-rw-r--r-- | src/ptx.c | 2 | ||||
-rwxr-xr-x | tests/misc/ptx.pl | 7 |
3 files changed, 12 insertions, 0 deletions
@@ -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] @@ -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; |