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


Reply via email to