Author: bentmann
Date: Wed Apr 7 13:41:19 2010
New Revision: 931543
URL: http://svn.apache.org/viewvc?rev=931543&view=rev
Log:
o Fixed argument quoting to recognize more special characters
Modified:
maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/Commandline.java
Modified:
maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/Commandline.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/Commandline.java?rev=931543&r1=931542&r2=931543&view=diff
==============================================================================
---
maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/Commandline.java
(original)
+++
maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/Commandline.java
Wed Apr 7 13:41:19 2010
@@ -512,9 +512,9 @@ public class Commandline
public static String quoteArgument( String argument )
throws CommandLineException
{
- if ( argument.indexOf( "\"" ) > -1 )
+ if ( argument.indexOf( '\"' ) > -1 )
{
- if ( argument.indexOf( "\'" ) > -1 )
+ if ( argument.indexOf( '\'' ) > -1 )
{
throw new CommandLineException( "Can't handle single and
double quotes in same argument" );
}
@@ -523,7 +523,7 @@ public class Commandline
return '\'' + argument + '\'';
}
}
- else if ( argument.indexOf( "\'" ) > -1 || argument.indexOf( " " ) >
-1 )
+ else if ( containsAny( argument, "'<>&|*? " ) )
{
return '\"' + argument + '\"';
}
@@ -533,6 +533,18 @@ public class Commandline
}
}
+ private static boolean containsAny( String argument, String chars )
+ {
+ for ( int i = chars.length() - 1; i >= 0; i-- )
+ {
+ if ( argument.indexOf( chars.charAt( i ) ) >= 0 )
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
public static String toString( String[] line )
{
// empty path return empty string