commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sashidharan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLI-262) Util.stripLeadingAndTrailingQuotes strips quotes that are unmatched
Date Wed, 15 Feb 2017 07:33:41 GMT

    [ https://issues.apache.org/jira/browse/CLI-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867385#comment-15867385
] 

Sashidharan commented on CLI-262:
---------------------------------

Hi Dustin,

Wrote one standalone java program and tested with " 'command \"suboption\"' "

The returned O/P was correct As i said 

O/P is 'command "suboption"' 

Code Sample used

	public static void main(String[] args) {
		
		//Test Util stripLeadingAndTrailingQuotes function
		String str = "\"'one two'";		
		String str1 = "'command \"suboption\"' ";
		System.out.println("O/P is "+stripLeadingAndTrailingQuotes(str1));
		
	}
	
    static String stripLeadingAndTrailingQuotes(String str)
    {
        int length = str.length();
        if (length > 1 && str.startsWith("\"") && str.endsWith("\"") &&
str.substring(1, length - 1).indexOf('"') == -1)
        {
            str = str.substring(1, length - 1);
        }
        
        return str;
    }

Please have a look..

> 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)

Mime
View raw message