[
https://issues.apache.org/jira/browse/CLI-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15849583#comment-15849583
]
Sashidharan commented on CLI-262:
---------------------------------
Hi,
The code for stripLeadingAndTrailingQuotes looks OK
if (length > 1 && str.startsWith("\"") && str.endsWith("\"") &&
str.substring(1, length - 1).indexOf('"') == -1)
It will not strip if the options not starts with and ends with double quotes
and there is no double quote anywhere in the middle of the string
> Util.stripLeadingAndTrailingQuotes strips quotes that are unmatched
> -------------------------------------------------------------------
>
> Key: CLI-262
> URL: https://issues.apache.org/jira/browse/CLI-262
> Project: Commons CLI
> Issue Type: Bug
> Components: Parser
> Reporter: Dustin Cote
> Priority: Minor
>
> Util.stripLeadingAndTrailingQuotes is described as:
> {code}
> /**
> * Remove the leading and trailing quotes from <code>str</code>.
> * E.g. if str is '"one two"', then 'one two' is returned.
> *
> * @param str The string from which the leading and trailing quotes
> * should be removed.
> *
> * @return The string without the leading and trailing quotes.
> */
> {code}
> However, in cases where you have
> {code}
> "'one two'
> {code}
> the returned result is:
> {code}
> 'one two'
> {code}
> This leads to unexpected results. For example, an option like:
> {code}
> -option 'command "suboption"'
> {code}
> ends up being parsed as:
> {code}
> command "suboption
> {code}
> The method should be modified to only strip unmatched quotes or a new method
> should be made and added to the API.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)