// Spludlow Software // Copyright © Samuel P. Ludlow 2020 All Rights Reserved // Distributed under the terms of the GNU General Public License version 3 // Distributed WITHOUT ANY WARRANTY; without implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE // https://www.spludlow.co.uk/LICENCE.TXT // The Spludlow logo is a registered trademark of Samuel P. Ludlow and may not be used without permission // v1.14 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace Spludlow.Mame { public class MamePath { private static HashSet InvalidFileNameChars = new HashSet(Path.GetInvalidFileNameChars()); public static bool IsInvalidFilename(string filename) { foreach (char ch in InvalidFileNameChars) { if (filename.Contains(ch) == true) return true; } return false; } public static string FixFilename(string filename, char replace) { StringBuilder result = new StringBuilder(); foreach (char ch in filename) { if (InvalidFileNameChars.Contains(ch) == true) result.Append(replace); else result.Append(ch); } return result.ToString(); } } }