@@ -14,13 +14,13 @@ internal static class IOManager
1414 /// Array of characters that are not allowed in file names.
1515 /// </summary>
1616 public static char [ ] InvalidFileNameCharsWindows = new char [ ]
17- {
17+ {
1818 '\" ' , '<' , '>' , '|' , '\0 ' ,
1919 ( char ) 1 , ( char ) 2 , ( char ) 3 , ( char ) 4 , ( char ) 5 , ( char ) 6 , ( char ) 7 , ( char ) 8 , ( char ) 9 , ( char ) 10 ,
2020 ( char ) 11 , ( char ) 12 , ( char ) 13 , ( char ) 14 , ( char ) 15 , ( char ) 16 , ( char ) 17 , ( char ) 18 , ( char ) 19 , ( char ) 20 ,
2121 ( char ) 21 , ( char ) 22 , ( char ) 23 , ( char ) 24 , ( char ) 25 , ( char ) 26 , ( char ) 27 , ( char ) 28 , ( char ) 29 , ( char ) 30 ,
22- ( char ) 31 , ':' , '?' , '\\ ' , '/'
23- } ;
22+ ( char ) 31 , ':' , '?' , '\\ ' , '/' , '*'
23+ } ;
2424
2525 public static char [ ] InvalidFileNameCharsUnix = new char [ ] { '/' , '\0 ' } ;
2626
@@ -43,10 +43,10 @@ public static string RemoveInvalidFileNameChars(string name)
4343 {
4444 StringBuilder fileBuilder = new ( name ) ;
4545 if ( RuntimeInformation . IsOSPlatform ( OSPlatform . Windows ) )
46- foreach ( char c in InvalidFileNameCharsWindows )
46+ foreach ( char c in InvalidFileNameCharsWindows . Concat ( Path . GetInvalidFileNameChars ( ) ) )
4747 fileBuilder . Replace ( c . ToString ( ) , string . Empty ) ;
4848 else if ( RuntimeInformation . IsOSPlatform ( OSPlatform . Linux ) || RuntimeInformation . IsOSPlatform ( OSPlatform . OSX ) )
49- foreach ( char c in InvalidFileNameCharsUnix )
49+ foreach ( char c in InvalidFileNameCharsUnix . Concat ( Path . GetInvalidFileNameChars ( ) ) )
5050 fileBuilder . Replace ( c . ToString ( ) , string . Empty ) ;
5151 return fileBuilder . ToString ( ) ;
5252 }
0 commit comments