o Fixed argument quoting to recognize more special characters

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@931543 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/it/util/cli/Commandline.java b/src/main/java/org/apache/maven/it/util/cli/Commandline.java
index c6b8b55..f045ad0 100644
--- a/src/main/java/org/apache/maven/it/util/cli/Commandline.java
+++ b/src/main/java/org/apache/maven/it/util/cli/Commandline.java
@@ -512,9 +512,9 @@
     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 @@
                 return '\'' + argument + '\'';
             }
         }
-        else if ( argument.indexOf( "\'" ) > -1 || argument.indexOf( " " ) > -1 )
+        else if ( containsAny( argument, "'<>&|*? " ) )
         {
             return '\"' + argument + '\"';
         }
@@ -533,6 +533,18 @@
         }
     }
 
+    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