From 63de5448de9674e60545ebfbcc727ad129a34e93 Mon Sep 17 00:00:00 2001 From: Emmanuel Bigeon Date: Sun, 7 Nov 2021 11:32:33 +0100 Subject: [PATCH] [refactor] Reduced complexity of argument reading by one by refactoring Signed-off-by: Emmanuel Bigeon --- .../main/java/net/bigeon/gclc/GCLCConstants.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java b/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java index da20264..08e45bc 100644 --- a/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java +++ b/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java @@ -146,10 +146,7 @@ public final class GCLCConstants { continue; } if (c == ' ' && !inString) { - final String arg = cmd.substring(startIndex, index - 1); - if (!arg.isEmpty()) { - args.add(removeEscaped(arg)); - } + addArgument(args, cmd.substring(startIndex, index - 1)); startIndex = index; } else if (c == '"') { if (inString) { @@ -169,4 +166,13 @@ public final class GCLCConstants { return args; } + /** Add an argument to the list of arguments if it is not an empty string. + * + * @param args the list of argument + * @param arg the candidate argument */ + private static void addArgument(final List args, final String arg) { + if (!arg.isEmpty()) { + args.add(removeEscaped(arg)); + } + } }