This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-cli.git


The following commit(s) were added to refs/heads/master by this push:
     new 4723175  Less branching.
4723175 is described below

commit 47231757c0e1c5b201889e8f3607470321b60e48
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Oct 4 13:41:24 2021 -0400

    Less branching.
---
 .../java/org/apache/commons/cli/CommandLine.java   |  6 +-----
 src/main/java/org/apache/commons/cli/Option.java   |  5 +----
 .../java/org/apache/commons/cli/PosixParser.java   | 24 +++++++++++-----------
 3 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/src/main/java/org/apache/commons/cli/CommandLine.java 
b/src/main/java/org/apache/commons/cli/CommandLine.java
index a599c4a..ab79533 100644
--- a/src/main/java/org/apache/commons/cli/CommandLine.java
+++ b/src/main/java/org/apache/commons/cli/CommandLine.java
@@ -454,11 +454,7 @@ public class CommandLine implements Serializable {
     private Option resolveOption(String opt) {
         opt = Util.stripLeadingHyphens(opt);
         for (final Option option : options) {
-            if (opt.equals(option.getOpt())) {
-                return option;
-            }
-
-            if (opt.equals(option.getLongOpt())) {
+            if (opt.equals(option.getOpt()) || 
opt.equals(option.getLongOpt())) {
                 return option;
             }
 
diff --git a/src/main/java/org/apache/commons/cli/Option.java 
b/src/main/java/org/apache/commons/cli/Option.java
index 6b10fdb..28859fb 100644
--- a/src/main/java/org/apache/commons/cli/Option.java
+++ b/src/main/java/org/apache/commons/cli/Option.java
@@ -473,10 +473,7 @@ public class Option implements Cloneable, Serializable {
 
         final Option option = (Option) o;
 
-        if (opt != null ? !opt.equals(option.opt) : option.opt != null) {
-            return false;
-        }
-        if (longOpt != null ? !longOpt.equals(option.longOpt) : option.longOpt 
!= null) {
+        if ((opt != null ? !opt.equals(option.opt) : option.opt != null) || 
(longOpt != null ? !longOpt.equals(option.longOpt) : option.longOpt != null)) {
             return false;
         }
 
diff --git a/src/main/java/org/apache/commons/cli/PosixParser.java 
b/src/main/java/org/apache/commons/cli/PosixParser.java
index f4e004f..0197c49 100644
--- a/src/main/java/org/apache/commons/cli/PosixParser.java
+++ b/src/main/java/org/apache/commons/cli/PosixParser.java
@@ -66,20 +66,20 @@ public class PosixParser extends Parser {
         for (int i = 1; i < token.length(); i++) {
             final String ch = String.valueOf(token.charAt(i));
 
-            if (options.hasOption(ch)) {
-                tokens.add("-" + ch);
-                currentOption = options.getOption(ch);
-
-                if (currentOption.hasArg() && token.length() != i + 1) {
-                    tokens.add(token.substring(i + 1));
-
-                    break;
+            if (!options.hasOption(ch)) {
+                if (stopAtNonOption) {
+                    processNonOptionToken(token.substring(i), true);
+                } else {
+                    tokens.add(token);
                 }
-            } else if (stopAtNonOption) {
-                processNonOptionToken(token.substring(i), true);
                 break;
-            } else {
-                tokens.add(token);
+            }
+            tokens.add("-" + ch);
+            currentOption = options.getOption(ch);
+
+            if (currentOption.hasArg() && token.length() != i + 1) {
+                tokens.add(token.substring(i + 1));
+
                 break;
             }
         }

Reply via email to