modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java | 12
++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
New commits:
commit 3bed8cb705a9c4662b69891c1ec1c833ba8dbc64
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Feb 27 17:59:39 2013 -0500
[Bug 888070 - Agent prompt-command doesn't properly parse command-line arguments]
A sort of annoying parsing issue affecting topmost command line parsing in
AgentMain.
diff --git
a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
index 0c95199..d959552 100644
--- a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
+++ b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
@@ -3314,9 +3314,9 @@ public class AgentMain {
}
if (nextToken == java.io.StreamTokenizer.TT_WORD) {
- args.add(strtok.sval);
+ args.add(safeArg(strtok.sval));
} else if (nextToken == '\"') {
- args.add(strtok.sval);
+ args.add(safeArg(strtok.sval));
} else if ((nextToken == java.io.StreamTokenizer.TT_EOF) || (nextToken ==
java.io.StreamTokenizer.TT_EOL)) {
keep_going = false;
}
@@ -3325,6 +3325,14 @@ public class AgentMain {
return args.toArray(new String[args.size()]);
}
+ // perform any other massaging
+ private String safeArg(String arg) {
+ // remove trailing '=' from long option args. For example --plugin=
should just be --plugin for
+ // downstream processing.
+ String result = (arg.startsWith("--") &&
arg.endsWith("=")) ? arg.substring(0, arg.length() - 1) : arg;
+ return result;
+ }
+
/**
* Returns the preferences for this agent. The node returned is where all preferences
are to be stored.
*
Show replies by date