Removed Check Invalid Path Chars (#15191)
authorAnirudh Agnihotry <anirudhagnihotry098@gmail.com>
Thu, 30 Nov 2017 19:54:26 +0000 (11:54 -0800)
committerGitHub <noreply@github.com>
Thu, 30 Nov 2017 19:54:26 +0000 (11:54 -0800)
Removed Check Invalid Chars from Coreclr

src/mscorlib/shared/System/IO/Path.Unix.cs
src/mscorlib/shared/System/IO/Path.Windows.cs
src/mscorlib/shared/System/IO/Path.cs
src/mscorlib/shared/System/IO/PathInternal.cs

index 4ed5069..61a8314 100644 (file)
@@ -25,8 +25,6 @@ namespace System.IO
             if (path.Length == 0)
                 throw new ArgumentException(SR.Arg_PathEmpty, nameof(path));
 
-            PathInternal.CheckInvalidPathChars(path);
-
             // Expand with current directory if necessary
             if (!IsPathRooted(path))
             {
@@ -176,7 +174,6 @@ namespace System.IO
             if (path == null)
                 return false;
 
-            PathInternal.CheckInvalidPathChars(path);
             return path.Length > 0 && path[0] == PathInternal.DirectorySeparatorChar;
         }
 
index 3732347..5d92d3b 100644 (file)
@@ -119,8 +119,6 @@ namespace System.IO
         {
             if (path != null)
             {
-                PathInternal.CheckInvalidPathChars(path);
-
                 int length = path.Length;
                 if ((length >= 1 && PathInternal.IsDirectorySeparator(path[0])) ||
                     (length >= 2 && PathInternal.IsValidDriveChar(path[0]) && path[1] == PathInternal.VolumeSeparatorChar))
@@ -144,8 +142,6 @@ namespace System.IO
             if (PathInternal.IsEffectivelyEmpty(path))
                 throw new ArgumentException(SR.Arg_PathEmpty, nameof(path));
 
-            PathInternal.CheckInvalidPathChars(path);
-
             // Need to return the normalized directory separator
             path = PathInternal.NormalizeDirectorySeparators(path);
 
index c9b9ed0..9f3f486 100644 (file)
@@ -41,8 +41,6 @@ namespace System.IO
         {
             if (path != null)
             {
-                PathInternal.CheckInvalidPathChars(path);
-
                 string s = path;
                 for (int i = path.Length - 1; i >= 0; i--)
                 {
@@ -81,7 +79,6 @@ namespace System.IO
             if (PathInternal.IsEffectivelyEmpty(path))
                 throw new ArgumentException(SR.Arg_PathEmpty, nameof(path));
 
-            PathInternal.CheckInvalidPathChars(path);
             path = PathInternal.NormalizeDirectorySeparators(path);
             int root = PathInternal.GetRootLength(path);
 
@@ -104,7 +101,6 @@ namespace System.IO
             if (path == null)
                 return null;
 
-            PathInternal.CheckInvalidPathChars(path);
             int length = path.Length;
             for (int i = length - 1; i >= 0; i--)
             {
@@ -194,8 +190,6 @@ namespace System.IO
         {
             if (path != null)
             {
-                PathInternal.CheckInvalidPathChars(path);
-
                 for (int i = path.Length - 1; i >= 0; i--)
                 {
                     char ch = path[i];
@@ -214,9 +208,6 @@ namespace System.IO
             if (path1 == null || path2 == null)
                 throw new ArgumentNullException((path1 == null) ? nameof(path1) : nameof(path2));
 
-            PathInternal.CheckInvalidPathChars(path1);
-            PathInternal.CheckInvalidPathChars(path2);
-
             return CombineNoChecks(path1, path2);
         }
 
@@ -225,10 +216,6 @@ namespace System.IO
             if (path1 == null || path2 == null || path3 == null)
                 throw new ArgumentNullException((path1 == null) ? nameof(path1) : (path2 == null) ? nameof(path2) : nameof(path3));
 
-            PathInternal.CheckInvalidPathChars(path1);
-            PathInternal.CheckInvalidPathChars(path2);
-            PathInternal.CheckInvalidPathChars(path3);
-
             return CombineNoChecks(path1, path2, path3);
         }
 
@@ -237,11 +224,6 @@ namespace System.IO
             if (path1 == null || path2 == null || path3 == null || path4 == null)
                 throw new ArgumentNullException((path1 == null) ? nameof(path1) : (path2 == null) ? nameof(path2) : (path3 == null) ? nameof(path3) : nameof(path4));
 
-            PathInternal.CheckInvalidPathChars(path1);
-            PathInternal.CheckInvalidPathChars(path2);
-            PathInternal.CheckInvalidPathChars(path3);
-            PathInternal.CheckInvalidPathChars(path4);
-
             return CombineNoChecks(path1, path2, path3, path4);
         }
 
@@ -270,8 +252,6 @@ namespace System.IO
                     continue;
                 }
 
-                PathInternal.CheckInvalidPathChars(paths[i]);
-
                 if (IsPathRooted(paths[i]))
                 {
                     firstComponent = i;
index 9362636..bfd69e9 100644 (file)
@@ -11,21 +11,6 @@ namespace System.IO
     internal static partial class PathInternal
     {
         /// <summary>
-        /// Checks for invalid path characters in the given path.
-        /// </summary>
-        /// <exception cref="System.ArgumentNullException">Thrown if the path is null.</exception>
-        /// <exception cref="System.ArgumentException">Thrown if the path has invalid characters.</exception>
-        /// <param name="path">The path to check for invalid characters.</param>
-        internal static void CheckInvalidPathChars(string path)
-        {
-            if (path == null)
-                throw new ArgumentNullException(nameof(path));
-
-            if (HasIllegalCharacters(path))
-                throw new ArgumentException(SR.Argument_InvalidPathChars, nameof(path));
-        }
-
-        /// <summary>
         /// Returns the start index of the filename
         /// in the given path, or 0 if no directory
         /// or volume separator is found.
@@ -40,7 +25,6 @@ namespace System.IO
         internal static int FindFileNameIndex(string path)
         {
             Debug.Assert(path != null);
-            CheckInvalidPathChars(path);
 
             for (int i = path.Length - 1; i >= 0; i--)
             {