diff --git a/Aaru.Checksums b/Aaru.Checksums index 29c9f2955..927585323 160000 --- a/Aaru.Checksums +++ b/Aaru.Checksums @@ -1 +1 @@ -Subproject commit 29c9f2955435671f7ffc58deaef1856324db0a27 +Subproject commit 9275853232eebfb477686ceb175da4f7f611061e diff --git a/Aaru.CommonTypes b/Aaru.CommonTypes index d841ec280..9859c8d9e 160000 --- a/Aaru.CommonTypes +++ b/Aaru.CommonTypes @@ -1 +1 @@ -Subproject commit d841ec280052067f5ad92bcd6f80190555fc0a17 +Subproject commit 9859c8d9eb7a9ea33f6eb70a22b8716526cace9d diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs index 60a5d9c8a..1832fef26 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Pregap.cs @@ -709,7 +709,7 @@ partial class Dump subBuf = DeinterleaveQ(cmdBuf); else if(dbDev?.ATAPI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || dbDev?.SCSI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || - dev.Manufacturer.ToLowerInvariant() == "plextor") + dev.Manufacturer.Equals("plextor", StringComparison.InvariantCultureIgnoreCase)) sense = dev.PlextorReadCdDa(out cmdBuf, out _, lba, 96, 1, PlextorSubchannel.All, dev.Timeout, out _); { diff --git a/Aaru.Core/Devices/Dumping/Sbc/Data.cs b/Aaru.Core/Devices/Dumping/Sbc/Data.cs index 4c2fa779f..b684df0fc 100644 --- a/Aaru.Core/Devices/Dumping/Sbc/Data.cs +++ b/Aaru.Core/Devices/Dumping/Sbc/Data.cs @@ -25,6 +25,7 @@ // Copyright © 2020-2023 Rebecca Wallander // ****************************************************************************/ +using System; using System.Linq; using Aaru.CommonTypes.AaruMetadata; using Aaru.CommonTypes.Enums; @@ -214,7 +215,7 @@ partial class Dump } else { - if(_dev.Manufacturer.ToLowerInvariant() == "insite") + if(_dev.Manufacturer.Equals("insite", StringComparison.InvariantCultureIgnoreCase)) { _resume.BadBlocks.Add(i); _resume.BadBlocks = _resume.BadBlocks.Distinct().ToList(); diff --git a/Aaru.Core/Media/Info/CompactDisc.cs b/Aaru.Core/Media/Info/CompactDisc.cs index c0400309a..5ce57099e 100644 --- a/Aaru.Core/Media/Info/CompactDisc.cs +++ b/Aaru.Core/Media/Info/CompactDisc.cs @@ -102,7 +102,7 @@ public static class CompactDisc // Plextor READ CDDA if(dbDev?.ATAPI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || dbDev?.SCSI?.RemovableMedias?.Any(d => d.SupportsPlextorReadCDDA == true) == true || - dev.Manufacturer.ToLowerInvariant() == "plextor") + dev.Manufacturer.Equals("plextor", StringComparison.InvariantCultureIgnoreCase)) { sense = dev.PlextorReadCdDa(out cmdBuf, out _, wantedLba, sectorSize, 3, PlextorSubchannel.None, dev.Timeout, out _); @@ -147,7 +147,7 @@ public static class CompactDisc (debug || dbDev?.ATAPI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true || dbDev?.SCSI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true || dbDev?.SCSI?.MultiMediaDevice?.TestedMedia?.Any(d => d.CanReadCdScrambled == true) == true || - dev.Manufacturer.ToLowerInvariant() == "hl-dt-st")) + dev.Manufacturer.Equals("hl-dt-st", StringComparison.InvariantCultureIgnoreCase))) { sense = dev.ReadCd(out cmdBuf, out _, wantedLba, sectorSize, 3, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, diff --git a/Aaru.Filesystems/ISO9660/Dir.cs b/Aaru.Filesystems/ISO9660/Dir.cs index 216cf7ea4..beabf9801 100644 --- a/Aaru.Filesystems/ISO9660/Dir.cs +++ b/Aaru.Filesystems/ISO9660/Dir.cs @@ -85,7 +85,7 @@ public sealed partial class ISO9660 string[] pieces = cutPath.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); KeyValuePair entry = - _rootDirectoryCache.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[0]); + _rootDirectoryCache.FirstOrDefault(t => t.Key.Equals(pieces[0], StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(entry.Key)) return ErrorNumber.NoSuchFile; @@ -99,7 +99,8 @@ public sealed partial class ISO9660 for(var p = 0; p < pieces.Length; p++) { - entry = currentDirectory.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[p]); + entry = currentDirectory.FirstOrDefault( + t => t.Key.Equals(pieces[p], StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(entry.Key)) return ErrorNumber.NoSuchFile; @@ -532,8 +533,10 @@ public sealed partial class ISO9660 { KeyValuePair transTblEntry = entries.FirstOrDefault(e => !e.Value.Flags.HasFlag(FileFlags.Directory) && - (e.Value.Filename.ToLower(CultureInfo.CurrentUICulture) == "trans.tbl" || - e.Value.Filename.ToLower(CultureInfo.CurrentUICulture) == "trans.tbl;1")); + (e.Value.Filename.Equals("trans.tbl", + StringComparison.CurrentCultureIgnoreCase) || + e.Value.Filename.Equals("trans.tbl;1", + StringComparison.CurrentCultureIgnoreCase))); if(transTblEntry.Value == null) return; @@ -576,9 +579,10 @@ public sealed partial class ISO9660 KeyValuePair originalEntry = entries.FirstOrDefault(e => !e.Value.Flags.HasFlag(FileFlags.Directory) && - (e.Value.Filename.ToLower(CultureInfo.CurrentUICulture) == originalName || - e.Value.Filename.ToLower(CultureInfo.CurrentUICulture) == - originalNameWithVersion)); + (e.Value.Filename.Equals(originalName, + StringComparison.CurrentCultureIgnoreCase) || + e.Value.Filename.Equals(originalNameWithVersion, + StringComparison.CurrentCultureIgnoreCase))); originalEntry.Value.Filename = newName; entries.Remove(originalEntry.Key); @@ -1119,9 +1123,7 @@ public sealed partial class ISO9660 while(currentPiece < pieces.Length) { PathTableEntryInternal currentEntry = _pathTable.FirstOrDefault(p => p.Parent == currentParent && - p.Name.ToLower(CultureInfo. - CurrentUICulture) == - pieces[currentPiece]); + p.Name.Equals(pieces[currentPiece], StringComparison.CurrentCultureIgnoreCase)); if(currentEntry is null) break; diff --git a/Aaru.Filesystems/ISO9660/File.cs b/Aaru.Filesystems/ISO9660/File.cs index 9749e3716..947288912 100644 --- a/Aaru.Filesystems/ISO9660/File.cs +++ b/Aaru.Filesystems/ISO9660/File.cs @@ -500,14 +500,15 @@ public sealed partial class ISO9660 return ErrorNumber.InvalidArgument; KeyValuePair dirent = - parent.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[^1]); + parent.FirstOrDefault(t => t.Key.Equals(pieces[^1], StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(dirent.Key)) { if(!_joliet && !pieces[^1].EndsWith(";1", StringComparison.Ordinal)) { - dirent = parent.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[^1] + ";1"); + dirent = parent.FirstOrDefault( + t => t.Key.Equals(pieces[^1] + ";1", StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(dirent.Key)) return ErrorNumber.NoSuchFile; diff --git a/Aaru.Filesystems/Opera/Dir.cs b/Aaru.Filesystems/Opera/Dir.cs index b49fcb190..bc845fb85 100644 --- a/Aaru.Filesystems/Opera/Dir.cs +++ b/Aaru.Filesystems/Opera/Dir.cs @@ -80,7 +80,7 @@ public sealed partial class OperaFS string[] pieces = cutPath.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); KeyValuePair entry = - _rootDirectoryCache.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[0]); + _rootDirectoryCache.FirstOrDefault(t => t.Key.Equals(pieces[0], StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(entry.Key)) return ErrorNumber.NoSuchFile; @@ -94,7 +94,8 @@ public sealed partial class OperaFS for(var p = 0; p < pieces.Length; p++) { - entry = currentDirectory.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[p]); + entry = currentDirectory.FirstOrDefault( + t => t.Key.Equals(pieces[p], StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(entry.Key)) return ErrorNumber.NoSuchFile; diff --git a/Aaru.Filesystems/Opera/File.cs b/Aaru.Filesystems/Opera/File.cs index edd8a12dd..7e786b66b 100644 --- a/Aaru.Filesystems/Opera/File.cs +++ b/Aaru.Filesystems/Opera/File.cs @@ -229,7 +229,7 @@ public sealed partial class OperaFS return ErrorNumber.InvalidArgument; KeyValuePair dirent = - parent.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[^1]); + parent.FirstOrDefault(t => t.Key.Equals(pieces[^1], StringComparison.CurrentCultureIgnoreCase)); if(string.IsNullOrEmpty(dirent.Key)) return ErrorNumber.NoSuchFile; diff --git a/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs b/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs index fedf4d666..4453f0861 100644 --- a/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs +++ b/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs @@ -162,38 +162,38 @@ public sealed class SubdirectoryViewModel if(DetectOS.IsWindows) { - if(filename.Contains('<') || - filename.Contains('>') || - filename.Contains(':') || - filename.Contains('\\') || - filename.Contains('/') || - filename.Contains('|') || - filename.Contains('?') || - filename.Contains('*') || - filename.Any(c => c < 32) || - filename.ToUpperInvariant() == "CON" || - filename.ToUpperInvariant() == "PRN" || - filename.ToUpperInvariant() == "AUX" || - filename.ToUpperInvariant() == "COM1" || - filename.ToUpperInvariant() == "COM2" || - filename.ToUpperInvariant() == "COM3" || - filename.ToUpperInvariant() == "COM4" || - filename.ToUpperInvariant() == "COM5" || - filename.ToUpperInvariant() == "COM6" || - filename.ToUpperInvariant() == "COM7" || - filename.ToUpperInvariant() == "COM8" || - filename.ToUpperInvariant() == "COM9" || - filename.ToUpperInvariant() == "LPT1" || - filename.ToUpperInvariant() == "LPT2" || - filename.ToUpperInvariant() == "LPT3" || - filename.ToUpperInvariant() == "LPT4" || - filename.ToUpperInvariant() == "LPT5" || - filename.ToUpperInvariant() == "LPT6" || - filename.ToUpperInvariant() == "LPT7" || - filename.ToUpperInvariant() == "LPT8" || - filename.ToUpperInvariant() == "LPT9" || - filename.Last() == '.' || - filename.Last() == ' ') + if(filename.Contains('<') || + filename.Contains('>') || + filename.Contains(':') || + filename.Contains('\\') || + filename.Contains('/') || + filename.Contains('|') || + filename.Contains('?') || + filename.Contains('*') || + filename.Any(c => c < 32) || + filename.Equals("CON", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("PRN", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("AUX", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM1", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM2", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM3", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM4", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM5", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM6", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM7", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM8", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("COM9", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT1", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT2", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT3", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT4", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT5", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT6", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT7", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT8", StringComparison.InvariantCultureIgnoreCase) || + filename.Equals("LPT9", StringComparison.InvariantCultureIgnoreCase) || + filename.Last() == '.' || + filename.Last() == ' ') { char[] chars; diff --git a/Aaru.Images/Alcohol120/Read.cs b/Aaru.Images/Alcohol120/Read.cs index 26f3a98d9..3f52d4dd0 100644 --- a/Aaru.Images/Alcohol120/Read.cs +++ b/Aaru.Images/Alcohol120/Read.cs @@ -329,9 +329,9 @@ public sealed partial class Alcohol120 if(_alcFooter.filenameOffset == 0) { - if(Path.GetExtension(imageFilter.BasePath).ToLowerInvariant() == ".mds") + if(Path.GetExtension(imageFilter.BasePath).Equals(".mds", StringComparison.InvariantCultureIgnoreCase)) alcFile = Path.GetFileNameWithoutExtension(imageFilter.BasePath) + ".mdf"; - else if(Path.GetExtension(imageFilter.BasePath).ToLowerInvariant() == ".xmd") + else if(Path.GetExtension(imageFilter.BasePath).Equals(".xmd", StringComparison.InvariantCultureIgnoreCase)) alcFile = Path.GetFileNameWithoutExtension(imageFilter.BasePath) + ".xmf"; } else if(string.Compare(alcFile, "*.mdf", StringComparison.InvariantCultureIgnoreCase) == 0) diff --git a/Aaru.Images/CDRWin/Read.cs b/Aaru.Images/CDRWin/Read.cs index c35ea8af6..b6d4bdb2e 100644 --- a/Aaru.Images/CDRWin/Read.cs +++ b/Aaru.Images/CDRWin/Read.cs @@ -1546,8 +1546,8 @@ public sealed partial class CdrWin _imageInfo.Application = "Redump.org"; // Detect ISOBuster extensions - else if(_discImage.OriginalMediaType != null || - _discImage.Comment.ToLower().Contains("isobuster") || + else if(_discImage.OriginalMediaType != null || + _discImage.Comment.Contains("isobuster", StringComparison.InvariantCultureIgnoreCase) || sessions.Length > 1) _imageInfo.Application = "ISOBuster"; else diff --git a/Aaru/Commands/Device/DeviceReport.cs b/Aaru/Commands/Device/DeviceReport.cs index da0a763dd..d0290e67d 100644 --- a/Aaru/Commands/Device/DeviceReport.cs +++ b/Aaru/Commands/Device/DeviceReport.cs @@ -274,7 +274,7 @@ sealed class DeviceReportCommand : Command } else if(!removable && report.ATA.IdentifyDevice?.GeneralConfiguration.HasFlag(Identify.GeneralConfigurationBit. - Removable) == true) + Removable) == true) removable = AnsiConsole.Confirm($"[italic]{UI.Is_the_media_removable}[/]"); if(removable) @@ -426,8 +426,9 @@ sealed class DeviceReportCommand : Command or MediumTypes.ReadWriteBlockDevice) goto default; - bool iomegaRev = dev.Manufacturer.ToLowerInvariant() == "iomega" && dev.Model. - ToLowerInvariant().StartsWith("rrd", StringComparison.OrdinalIgnoreCase); + bool iomegaRev = + dev.Manufacturer.Equals("iomega", StringComparison.InvariantCultureIgnoreCase) && dev.Model. + StartsWith("rrd", StringComparison.InvariantCultureIgnoreCase); if(trapDisc) { @@ -709,10 +710,13 @@ sealed class DeviceReportCommand : Command tryNec = false, tryMediaTekF106 = false; - tryPlextor |= dev.Manufacturer.ToLowerInvariant() == "plextor"; - tryHldtst |= dev.Manufacturer.ToLowerInvariant() == "hl-dt-st"; - tryPioneer |= dev.Manufacturer.ToLowerInvariant() == "pioneer"; - tryNec |= dev.Manufacturer.ToLowerInvariant() == "nec"; + tryPlextor |= + dev.Manufacturer.Equals("plextor", StringComparison.InvariantCultureIgnoreCase); + tryHldtst |= + dev.Manufacturer.Equals("hl-dt-st", StringComparison.InvariantCultureIgnoreCase); + tryPioneer |= + dev.Manufacturer.Equals("pioneer", StringComparison.InvariantCultureIgnoreCase); + tryNec |= dev.Manufacturer.Equals("nec", StringComparison.InvariantCultureIgnoreCase); if(!iomegaRev) { diff --git a/Aaru/Main.cs b/Aaru/Main.cs index 5f8558617..8195d2c26 100644 --- a/Aaru/Main.cs +++ b/Aaru/Main.cs @@ -79,8 +79,8 @@ class MainClass _assemblyCopyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; - if(args.Length == 1 && - args[0].ToLowerInvariant() == "gui") + if(args.Length == 1 && + args[0].Equals("gui", StringComparison.InvariantCultureIgnoreCase)) return Gui.Main.Start(args); AaruConsole.WriteLineEvent += (format, objects) => @@ -198,8 +198,9 @@ class MainClass // GDPR level compliance does not match and there are no arguments or the arguments are neither GUI neither configure. if(Settings.Settings.Current.GdprCompliance < DicSettings.GDPR_LEVEL && - (args.Length < 1 || args.Length >= 1 && args[0].ToLowerInvariant() != "gui" && - args[0].ToLowerInvariant() != "configure")) + (args.Length < 1 || args.Length >= 1 && + !args[0].Equals("gui", StringComparison.InvariantCultureIgnoreCase) && + !args[0].Equals("configure", StringComparison.InvariantCultureIgnoreCase))) new ConfigureCommand().DoConfigure(true); Statistics.LoadStats();