coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] ptx: avoid --format long option falling through into --help


From: Bernhard Voelker
Subject: [PATCH] ptx: avoid --format long option falling through into --help
Date: Wed, 26 Mar 2014 09:02:42 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

The following fixes a 15-year-old issue in ptx(1).

Was ptx(1) in TEXTUTILS?
... I assumed this in the NEWS entry.

Have a nice day,
Berny


>From dfa2279a955b9cdd6f941ae2eb05bd527081941f Mon Sep 17 00:00:00 2001
From: Bernhard Voelker <address@hidden>
Date: Wed, 26 Mar 2014 09:01:36 +0100
Subject: [PATCH] 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).
---
 NEWS              | 3 +++
 src/ptx.c         | 2 ++
 tests/misc/ptx.pl | 7 +++++++
 3 files changed, 12 insertions(+)

diff --git a/NEWS b/NEWS
index f68ab4f..582f060 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 99da0cb..be342ee 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 2db953a..8a91d61 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;
-- 
1.8.4.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]