diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs
index 739297f24..4db667707 100644
--- a/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs
+++ b/Aaru.Core/Devices/Dumping/CompactDisc/Dump.cs
@@ -398,18 +398,11 @@ sealed partial class Dump
break;
}
- switch(desiredSubchannel)
- {
- case MmcSubchannel.None:
- subType = TrackSubchannelType.None;
-
- break;
- case MmcSubchannel.Raw:
- case MmcSubchannel.Q16:
- subType = TrackSubchannelType.Raw;
-
- break;
- }
+ subType = desiredSubchannel switch
+ {
+ MmcSubchannel.None => TrackSubchannelType.None,
+ MmcSubchannel.Raw or MmcSubchannel.Q16 => TrackSubchannelType.Raw
+ };
blockSize = sectorSize + subSize;
diff --git a/Aaru.Core/Devices/Dumping/Sbc/Dump.cs b/Aaru.Core/Devices/Dumping/Sbc/Dump.cs
index c50c6bb61..88ed80674 100644
--- a/Aaru.Core/Devices/Dumping/Sbc/Dump.cs
+++ b/Aaru.Core/Devices/Dumping/Sbc/Dump.cs
@@ -91,15 +91,11 @@ partial class Dump
if(opticalDisc)
{
- switch(dskType)
- {
- case MediaType.REV35:
- case MediaType.REV70:
- case MediaType.REV120:
- opticalDisc = false;
-
- break;
- }
+ opticalDisc = dskType switch
+ {
+ MediaType.REV35 or MediaType.REV70 or MediaType.REV120 => false,
+ _ => opticalDisc
+ };
}
_dumpLog.WriteLine(Localization.Core.Initializing_reader);
diff --git a/Aaru.Core/Devices/Scanning/MediaScan.cs b/Aaru.Core/Devices/Scanning/MediaScan.cs
index 190b4efd2..8905aa54f 100644
--- a/Aaru.Core/Devices/Scanning/MediaScan.cs
+++ b/Aaru.Core/Devices/Scanning/MediaScan.cs
@@ -81,21 +81,14 @@ public sealed partial class MediaScan
/// Unknown device type
public ScanResults Scan()
{
- switch(_dev.Type)
- {
- case DeviceType.ATA:
- return Ata();
- case DeviceType.MMC:
- case DeviceType.SecureDigital:
- return SecureDigital();
- case DeviceType.NVMe:
- return Nvme();
- case DeviceType.ATAPI:
- case DeviceType.SCSI:
- return Scsi();
- default:
- throw new NotSupportedException(Localization.Core.Unknown_device_type);
- }
+ return _dev.Type switch
+ {
+ DeviceType.ATA => Ata(),
+ DeviceType.MMC or DeviceType.SecureDigital => SecureDigital(),
+ DeviceType.NVMe => Nvme(),
+ DeviceType.ATAPI or DeviceType.SCSI => Scsi(),
+ _ => throw new NotSupportedException(Localization.Core.Unknown_device_type)
+ };
}
/// Aborts the running media scan
diff --git a/Aaru.Core/Error.cs b/Aaru.Core/Error.cs
index e8e0d05d7..273a20d64 100644
--- a/Aaru.Core/Error.cs
+++ b/Aaru.Core/Error.cs
@@ -42,96 +42,85 @@ public static class Error
/// Error description.
public static string Print(int errno)
{
- switch(DetectOS.GetRealPlatformID())
- {
- case PlatformID.Win32S:
- case PlatformID.Win32Windows:
- case PlatformID.Win32NT:
- case PlatformID.WinCE:
- case PlatformID.WindowsPhone:
- case PlatformID.Xbox:
- return PrintWin32Error(errno);
- case PlatformID.Unix:
- case PlatformID.MacOSX:
- case PlatformID.iOS:
- case PlatformID.Linux:
- case PlatformID.Solaris:
- case PlatformID.NetBSD:
- case PlatformID.OpenBSD:
- case PlatformID.FreeBSD:
- case PlatformID.DragonFly:
- case PlatformID.Android:
- case PlatformID.Tizen:
- case PlatformID.Hurd:
- case PlatformID.Haiku:
- case PlatformID.HPUX:
- case PlatformID.AIX:
- case PlatformID.OS400:
- case PlatformID.IRIX:
- case PlatformID.Minix:
- case PlatformID.QNX:
- case PlatformID.SINIX:
- case PlatformID.Tru64:
- case PlatformID.Ultrix:
- case PlatformID.OpenServer:
- case PlatformID.UnixWare:
- case PlatformID.zOS:
- return PrintUnixError(errno);
- case PlatformID.Wii:
- return string.Format(Localization.Core.error_code_0, errno);
- case PlatformID.WiiU:
- return string.Format(Localization.Core.error_code_0, errno);
- case PlatformID.PlayStation3:
- return string.Format(Localization.Core.error_code_0, errno);
- case PlatformID.PlayStation4:
- return string.Format(Localization.Core.error_code_0, errno);
- case PlatformID.NonStop:
- return string.Format(Localization.Core.error_code_0, errno);
- case PlatformID.Unknown:
- return string.Format(Localization.Core.error_code_0, errno);
- default:
- return string.Format(Localization.Core.error_code_0, errno);
- }
+ return DetectOS.GetRealPlatformID() switch
+ {
+ PlatformID.Win32S
+ or PlatformID.Win32Windows
+ or PlatformID.Win32NT
+ or PlatformID.WinCE
+ or PlatformID.WindowsPhone
+ or PlatformID.Xbox => PrintWin32Error(errno),
+ PlatformID.Unix
+ or PlatformID.MacOSX
+ or PlatformID.iOS
+ or PlatformID.Linux
+ or PlatformID.Solaris
+ or PlatformID.NetBSD
+ or PlatformID.OpenBSD
+ or PlatformID.FreeBSD
+ or PlatformID.DragonFly
+ or PlatformID.Android
+ or PlatformID.Tizen
+ or PlatformID.Hurd
+ or PlatformID.Haiku
+ or PlatformID.HPUX
+ or PlatformID.AIX
+ or PlatformID.OS400
+ or PlatformID.IRIX
+ or PlatformID.Minix
+ or PlatformID.QNX
+ or PlatformID.SINIX
+ or PlatformID.Tru64
+ or PlatformID.Ultrix
+ or PlatformID.OpenServer
+ or PlatformID.UnixWare
+ or PlatformID.zOS => PrintUnixError(errno),
+ PlatformID.Wii => string.Format(Localization.Core.error_code_0, errno),
+ PlatformID.WiiU => string.Format(Localization.Core.error_code_0, errno),
+ PlatformID.PlayStation3 => string.Format(Localization.Core.error_code_0, errno),
+ PlatformID.PlayStation4 => string.Format(Localization.Core.error_code_0, errno),
+ PlatformID.NonStop => string.Format(Localization.Core.error_code_0, errno),
+ PlatformID.Unknown => string.Format(Localization.Core.error_code_0, errno),
+ _ => string.Format(Localization.Core.error_code_0, errno)
+ };
}
static string PrintUnixError(int errno)
{
- switch(errno)
- {
- case 2: // ENOENT
- case 19: // ENODEV
- return Localization.Core.The_specified_device_cannot_be_found;
- case 13: // EACCESS
- return Localization.Core.Not_enough_permissions_to_open_the_device;
- case 16: // EBUSY
- return Localization.Core.The_specified_device_is_in_use_by_another_process;
- case 30: // EROFS
- return Localization.Core.Cannot_open_the_device_in_writable_mode_as_needed_by_some_commands;
- default:
- return string.Format(Localization.Core.error_code_0, errno);
- }
+ return errno switch
+ {
+ 2 or 19 => // ENODEV
+ // ENOENT
+ Localization.Core.The_specified_device_cannot_be_found,
+ 13 => // EACCESS
+ Localization.Core.Not_enough_permissions_to_open_the_device,
+ 16 => // EBUSY
+ Localization.Core.The_specified_device_is_in_use_by_another_process,
+ 30 => // EROFS
+ Localization.Core.Cannot_open_the_device_in_writable_mode_as_needed_by_some_commands,
+ _ => string.Format(Localization.Core.error_code_0, errno)
+ };
}
static string PrintWin32Error(int errno)
{
- switch(errno)
- {
- case 2: // ERROR_FILE_NOT_FOUND
- case 3: // ERROR_PATH_NOT_FOUND
- return Localization.Core.The_specified_device_cannot_be_found;
- case 5: // ERROR_ACCESS_DENIED
- return Localization.Core.Not_enough_permissions_to_open_the_device;
- case 19: // ERROR_WRITE_PROTECT
- return Localization.Core.Cannot_open_the_device_in_writable_mode_as_needed_by_some_commands;
- case 32: // ERROR_SHARING_VIOLATION
- case 33: // ERROR_LOCK_VIOLATION
- case 108: // ERROR_DRIVE_LOCKED
- case 170: // ERROR_BUSY
- return Localization.Core.The_specified_device_is_in_use_by_another_process;
- case 130: // ERROR_DIRECT_ACCESS_HANDLE
- return Localization.Core.Tried_to_open_a_file_instead_of_a_device;
- default:
- return string.Format(Localization.Core.error_code_0, errno);
- }
+ return errno switch
+ {
+ 2 or 3 => // ERROR_PATH_NOT_FOUND
+ // ERROR_FILE_NOT_FOUND
+ Localization.Core.The_specified_device_cannot_be_found,
+ 5 => // ERROR_ACCESS_DENIED
+ Localization.Core.Not_enough_permissions_to_open_the_device,
+ 19 => // ERROR_WRITE_PROTECT
+ Localization.Core.Cannot_open_the_device_in_writable_mode_as_needed_by_some_commands,
+ 32 or 33 or 108 or 170 => // ERROR_BUSY
+ // ERROR_DRIVE_LOCKED
+ // ERROR_LOCK_VIOLATION
+ // ERROR_SHARING_VIOLATION
+ Localization.Core.The_specified_device_is_in_use_by_another_process,
+ 130 => // ERROR_DIRECT_ACCESS_HANDLE
+ Localization.Core.Tried_to_open_a_file_instead_of_a_device,
+ _ => string.Format(Localization.Core.error_code_0, errno)
+ };
}
}
\ No newline at end of file
diff --git a/Aaru.Core/Logging/MHDDLog.cs b/Aaru.Core/Logging/MHDDLog.cs
index 355109019..4cefcfcdd 100644
--- a/Aaru.Core/Logging/MHDDLog.cs
+++ b/Aaru.Core/Logging/MHDDLog.cs
@@ -68,36 +68,15 @@ sealed class MhddLog
_mhddFs = new MemoryStream();
_logFile = outputFile;
- string mode;
-
- switch(dev.Type)
- {
- case DeviceType.ATA:
- case DeviceType.ATAPI:
- mode = "MODE: IDE";
-
- break;
- case DeviceType.SCSI:
- mode = "MODE: SCSI";
-
- break;
- case DeviceType.MMC:
- mode = "MODE: MMC";
-
- break;
- case DeviceType.NVMe:
- mode = "MODE: NVMe";
-
- break;
- case DeviceType.SecureDigital:
- mode = "MODE: SD";
-
- break;
- default:
- mode = "MODE: IDE";
-
- break;
- }
+ string mode = dev.Type switch
+ {
+ DeviceType.ATA or DeviceType.ATAPI => "MODE: IDE",
+ DeviceType.SCSI => "MODE: SCSI",
+ DeviceType.MMC => "MODE: MMC",
+ DeviceType.NVMe => "MODE: NVMe",
+ DeviceType.SecureDigital => "MODE: SD",
+ _ => "MODE: IDE"
+ };
var device = $"DEVICE: {dev.Manufacturer} {dev.Model}";
var fw = $"F/W: {dev.FirmwareRevision}";
diff --git a/Aaru.Core/Media/Detection/MMC.cs b/Aaru.Core/Media/Detection/MMC.cs
index d92d2e2ed..3649356d2 100644
--- a/Aaru.Core/Media/Detection/MMC.cs
+++ b/Aaru.Core/Media/Detection/MMC.cs
@@ -274,124 +274,38 @@ public static class MMC
Localization.Core.GET_CONFIGURATION_current_profile_is_0,
ftr.CurrentProfile);
- switch(ftr.CurrentProfile)
- {
- case 0x0001:
- mediaType = MediaType.GENERIC_HDD;
-
- break;
- case 0x0005:
- mediaType = MediaType.CDMO;
-
- break;
- case 0x0008:
- mediaType = MediaType.CD;
-
- break;
- case 0x0009:
- mediaType = MediaType.CDR;
-
- break;
- case 0x000A:
- mediaType = MediaType.CDRW;
-
- break;
- case 0x0010:
- mediaType = MediaType.DVDROM;
-
- break;
- case 0x0011:
- mediaType = MediaType.DVDR;
-
- break;
- case 0x0012:
- mediaType = MediaType.DVDRAM;
-
- break;
- case 0x0013:
- case 0x0014:
- mediaType = MediaType.DVDRW;
-
- break;
- case 0x0015:
- case 0x0016:
- mediaType = MediaType.DVDRDL;
-
- break;
- case 0x0017:
- mediaType = MediaType.DVDRWDL;
-
- break;
- case 0x0018:
- mediaType = MediaType.DVDDownload;
-
- break;
- case 0x001A:
- mediaType = MediaType.DVDPRW;
-
- break;
- case 0x001B:
- mediaType = MediaType.DVDPR;
-
- break;
- case 0x0020:
- mediaType = MediaType.DDCD;
-
- break;
- case 0x0021:
- mediaType = MediaType.DDCDR;
-
- break;
- case 0x0022:
- mediaType = MediaType.DDCDRW;
-
- break;
- case 0x002A:
- mediaType = MediaType.DVDPRWDL;
-
- break;
- case 0x002B:
- mediaType = MediaType.DVDPRDL;
-
- break;
- case 0x0040:
- mediaType = MediaType.BDROM;
-
- break;
- case 0x0041:
- case 0x0042:
- mediaType = MediaType.BDR;
-
- break;
- case 0x0043:
- mediaType = MediaType.BDRE;
-
- break;
- case 0x0050:
- mediaType = MediaType.HDDVDROM;
-
- break;
- case 0x0051:
- mediaType = MediaType.HDDVDR;
-
- break;
- case 0x0052:
- mediaType = MediaType.HDDVDRAM;
-
- break;
- case 0x0053:
- mediaType = MediaType.HDDVDRW;
-
- break;
- case 0x0058:
- mediaType = MediaType.HDDVDRDL;
-
- break;
- case 0x005A:
- mediaType = MediaType.HDDVDRWDL;
-
- break;
- }
+ mediaType = ftr.CurrentProfile switch
+ {
+ 0x0001 => MediaType.GENERIC_HDD,
+ 0x0005 => MediaType.CDMO,
+ 0x0008 => MediaType.CD,
+ 0x0009 => MediaType.CDR,
+ 0x000A => MediaType.CDRW,
+ 0x0010 => MediaType.DVDROM,
+ 0x0011 => MediaType.DVDR,
+ 0x0012 => MediaType.DVDRAM,
+ 0x0013 or 0x0014 => MediaType.DVDRW,
+ 0x0015 or 0x0016 => MediaType.DVDRDL,
+ 0x0017 => MediaType.DVDRWDL,
+ 0x0018 => MediaType.DVDDownload,
+ 0x001A => MediaType.DVDPRW,
+ 0x001B => MediaType.DVDPR,
+ 0x0020 => MediaType.DDCD,
+ 0x0021 => MediaType.DDCDR,
+ 0x0022 => MediaType.DDCDRW,
+ 0x002A => MediaType.DVDPRWDL,
+ 0x002B => MediaType.DVDPRDL,
+ 0x0040 => MediaType.BDROM,
+ 0x0041 or 0x0042 => MediaType.BDR,
+ 0x0043 => MediaType.BDRE,
+ 0x0050 => MediaType.HDDVDROM,
+ 0x0051 => MediaType.HDDVDR,
+ 0x0052 => MediaType.HDDVDRAM,
+ 0x0053 => MediaType.HDDVDRW,
+ 0x0058 => MediaType.HDDVDRDL,
+ 0x005A => MediaType.HDDVDRWDL,
+ _ => mediaType
+ };
}
if(decodedToc?.TrackDescriptors.Any(t => t.SessionNumber == 2) == true)
diff --git a/Aaru.Core/Media/Info/ScsiInfo.cs b/Aaru.Core/Media/Info/ScsiInfo.cs
index beddf78a0..8723dde45 100644
--- a/Aaru.Core/Media/Info/ScsiInfo.cs
+++ b/Aaru.Core/Media/Info/ScsiInfo.cs
@@ -309,139 +309,50 @@ public sealed class ScsiInfo
Localization.Core.GET_CONFIGURATION_current_profile_is_0,
ftr.CurrentProfile);
- switch(ftr.CurrentProfile)
- {
- case 0x0001:
- MediaType = MediaType.GENERIC_HDD;
-
- break;
- case 0x0002:
- MediaType = scsiMediumType switch
- {
- 0x01 => MediaType.PD650,
- 0x41 => Blocks switch
- {
- 58620544 => MediaType.REV120,
- 17090880 => MediaType.REV35,
- 34185728 => MediaType.REV70,
- _ => MediaType
- },
- _ => MediaType.Unknown
- };
-
- break;
- case 0x0005:
- MediaType = MediaType.CDMO;
-
- break;
- case 0x0008:
- MediaType = MediaType.CD;
-
- break;
- case 0x0009:
- MediaType = MediaType.CDR;
-
- break;
- case 0x000A:
- MediaType = MediaType.CDRW;
-
- break;
- case 0x0010:
- MediaType = MediaType.DVDROM;
-
- break;
- case 0x0011:
- MediaType = MediaType.DVDR;
-
- break;
- case 0x0012:
- MediaType = MediaType.DVDRAM;
-
- break;
- case 0x0013:
- case 0x0014:
- MediaType = MediaType.DVDRW;
-
- break;
- case 0x0015:
- case 0x0016:
- MediaType = MediaType.DVDRDL;
-
- break;
- case 0x0017:
- MediaType = MediaType.DVDRWDL;
-
- break;
- case 0x0018:
- MediaType = MediaType.DVDDownload;
-
- break;
- case 0x001A:
- MediaType = MediaType.DVDPRW;
-
- break;
- case 0x001B:
- MediaType = MediaType.DVDPR;
-
- break;
- case 0x0020:
- MediaType = MediaType.DDCD;
-
- break;
- case 0x0021:
- MediaType = MediaType.DDCDR;
-
- break;
- case 0x0022:
- MediaType = MediaType.DDCDRW;
-
- break;
- case 0x002A:
- MediaType = MediaType.DVDPRWDL;
-
- break;
- case 0x002B:
- MediaType = MediaType.DVDPRDL;
-
- break;
- case 0x0040:
- MediaType = MediaType.BDROM;
-
- break;
- case 0x0041:
- case 0x0042:
- MediaType = MediaType.BDR;
-
- break;
- case 0x0043:
- MediaType = MediaType.BDRE;
-
- break;
- case 0x0050:
- MediaType = MediaType.HDDVDROM;
-
- break;
- case 0x0051:
- MediaType = MediaType.HDDVDR;
-
- break;
- case 0x0052:
- MediaType = MediaType.HDDVDRAM;
-
- break;
- case 0x0053:
- MediaType = MediaType.HDDVDRW;
-
- break;
- case 0x0058:
- MediaType = MediaType.HDDVDRDL;
-
- break;
- case 0x005A:
- MediaType = MediaType.HDDVDRWDL;
-
- break;
- }
+ MediaType = ftr.CurrentProfile switch
+ {
+ 0x0001 => MediaType.GENERIC_HDD,
+ 0x0002 => scsiMediumType switch
+ {
+ 0x01 => MediaType.PD650,
+ 0x41 => Blocks switch
+ {
+ 58620544 => MediaType.REV120,
+ 17090880 => MediaType.REV35,
+ 34185728 => MediaType.REV70,
+ _ => MediaType
+ },
+ _ => MediaType.Unknown
+ },
+ 0x0005 => MediaType.CDMO,
+ 0x0008 => MediaType.CD,
+ 0x0009 => MediaType.CDR,
+ 0x000A => MediaType.CDRW,
+ 0x0010 => MediaType.DVDROM,
+ 0x0011 => MediaType.DVDR,
+ 0x0012 => MediaType.DVDRAM,
+ 0x0013 or 0x0014 => MediaType.DVDRW,
+ 0x0015 or 0x0016 => MediaType.DVDRDL,
+ 0x0017 => MediaType.DVDRWDL,
+ 0x0018 => MediaType.DVDDownload,
+ 0x001A => MediaType.DVDPRW,
+ 0x001B => MediaType.DVDPR,
+ 0x0020 => MediaType.DDCD,
+ 0x0021 => MediaType.DDCDR,
+ 0x0022 => MediaType.DDCDRW,
+ 0x002A => MediaType.DVDPRWDL,
+ 0x002B => MediaType.DVDPRDL,
+ 0x0040 => MediaType.BDROM,
+ 0x0041 or 0x0042 => MediaType.BDR,
+ 0x0043 => MediaType.BDRE,
+ 0x0050 => MediaType.HDDVDROM,
+ 0x0051 => MediaType.HDDVDR,
+ 0x0052 => MediaType.HDDVDRAM,
+ 0x0053 => MediaType.HDDVDRW,
+ 0x0058 => MediaType.HDDVDRDL,
+ 0x005A => MediaType.HDDVDRWDL,
+ _ => MediaType
+ };
}
if(MediaType == MediaType.PD650 && Blocks == 1281856) MediaType = MediaType.PD650_WORM;
diff --git a/Aaru.Core/Sidecar/OpticalDisc.cs b/Aaru.Core/Sidecar/OpticalDisc.cs
index 3df433ac6..241a714cd 100644
--- a/Aaru.Core/Sidecar/OpticalDisc.cs
+++ b/Aaru.Core/Sidecar/OpticalDisc.cs
@@ -414,24 +414,16 @@ public sealed partial class Sidecar
Size = (xmlTrk.EndSector - xmlTrk.StartSector + 1) * 96
};
- switch(trk.SubchannelType)
- {
- case TrackSubchannelType.Packed:
- case TrackSubchannelType.PackedInterleaved:
- xmlTrk.SubChannel.Image.Format = "rw";
-
- break;
- case TrackSubchannelType.Raw:
- case TrackSubchannelType.RawInterleaved:
- xmlTrk.SubChannel.Image.Format = "rw_raw";
-
- break;
- case TrackSubchannelType.Q16:
- case TrackSubchannelType.Q16Interleaved:
- xmlTrk.SubChannel.Image.Format = "q16";
-
- break;
- }
+ xmlTrk.SubChannel.Image.Format = trk.SubchannelType switch
+ {
+ TrackSubchannelType.Packed
+ or TrackSubchannelType.PackedInterleaved => "rw",
+ TrackSubchannelType.Raw
+ or TrackSubchannelType.RawInterleaved => "rw_raw",
+ TrackSubchannelType.Q16
+ or TrackSubchannelType.Q16Interleaved => "q16",
+ _ => xmlTrk.SubChannel.Image.Format
+ };
if(trk.FileOffset > 0) xmlTrk.SubChannel.Image.Offset = trk.SubchannelOffset;
diff --git a/Aaru.Decoders/Bluray/DI.cs b/Aaru.Decoders/Bluray/DI.cs
index 6b6321856..8102b6020 100644
--- a/Aaru.Decoders/Bluray/DI.cs
+++ b/Aaru.Decoders/Bluray/DI.cs
@@ -435,90 +435,29 @@ public static class DI
public static string ManufacturerFromDI(string manufacturerId)
{
- var manufacturer = "";
-
// ReSharper disable StringLiteralTypo
- switch(manufacturerId)
- {
- case "AMESOB":
- case "OTCBDR":
- manufacturer = "Amethystum Storage Technology Co., Ltd.";
-
- break;
- case "UMEBDR":
- case "ANWELL":
- manufacturer = "Avic Umedisc HK Ltd.";
-
- break;
- case "MAXELL":
- manufacturer = "Hitachi Maxell, Ltd.";
-
- break;
- case "CMCMAG":
- manufacturer = "CMC Magnetics Corporation";
-
- break;
- case "ISMMBD":
- manufacturer = "Info Source Digital Media (Zhong Shan) Co., Ltd.";
-
- break;
- case "LGEBRA":
- manufacturer = "LG Electronics Inc.";
-
- break;
- case "MILLEN":
- manufacturer = "Millenniata, Inc.";
-
- break;
- case "VERBAT":
- case "VAMKM":
- manufacturer = "Mitsubishi Chemical Media Co., Ltd.";
-
- break;
- case "PHILIP":
- case "MBI":
- manufacturer = "Moser Baer India Ltd.";
-
- break;
- case "MEI":
- case "PAN":
- manufacturer = "Matsushita Electric Industrial Co., Ltd.";
-
- break;
- case "PRODIS":
- manufacturer = "Prodisc Technology Inc.";
-
- break;
- case "RITEK":
- manufacturer = "Ritek Co.";
-
- break;
- case "SONY":
- manufacturer = "Sony Corporation";
-
- break;
- case "TYG-BD":
- manufacturer = "Taiyo Yuden Company Ltd.";
-
- break;
- case "TDKBLD":
- manufacturer = "TDK Corporation";
-
- break;
- case "JVC-AM":
- case "JVCVAM":
- manufacturer = "Victor Advanced media Co., Ltd.";
-
- break;
- case "JVCRE1":
- manufacturer = "JVC KENWOOD Corporation";
-
- break;
- case "INFOME":
- manufacturer = "InfoMedia Inc.";
-
- break;
- }
+ string manufacturer = manufacturerId switch
+ {
+ "AMESOB" or "OTCBDR" => "Amethystum Storage Technology Co., Ltd.",
+ "UMEBDR" or "ANWELL" => "Avic Umedisc HK Ltd.",
+ "MAXELL" => "Hitachi Maxell, Ltd.",
+ "CMCMAG" => "CMC Magnetics Corporation",
+ "ISMMBD" => "Info Source Digital Media (Zhong Shan) Co., Ltd.",
+ "LGEBRA" => "LG Electronics Inc.",
+ "MILLEN" => "Millenniata, Inc.",
+ "VERBAT" or "VAMKM" => "Mitsubishi Chemical Media Co., Ltd.",
+ "PHILIP" or "MBI" => "Moser Baer India Ltd.",
+ "MEI" or "PAN" => "Matsushita Electric Industrial Co., Ltd.",
+ "PRODIS" => "Prodisc Technology Inc.",
+ "RITEK" => "Ritek Co.",
+ "SONY" => "Sony Corporation",
+ "TYG-BD" => "Taiyo Yuden Company Ltd.",
+ "TDKBLD" => "TDK Corporation",
+ "JVC-AM" or "JVCVAM" => "Victor Advanced media Co., Ltd.",
+ "JVCRE1" => "JVC KENWOOD Corporation",
+ "INFOME" => "InfoMedia Inc.",
+ _ => ""
+ };
// ReSharper restore StringLiteralTypo
diff --git a/Aaru.Decoders/DVD/PFI.cs b/Aaru.Decoders/DVD/PFI.cs
index ff2c0e926..4038c0943 100644
--- a/Aaru.Decoders/DVD/PFI.cs
+++ b/Aaru.Decoders/DVD/PFI.cs
@@ -995,173 +995,50 @@ public static class PFI
[SuppressMessage("ReSharper", "StringLiteralTypo")]
public static string ManufacturerFromDVDPlusID(string manufacturerId)
{
- var manufacturer = "";
-
- switch(manufacturerId)
- {
- case "CMC MAG":
- manufacturer = "CMC Magnetics Corporation";
-
- break;
- case "INFOME":
- manufacturer = "InfoMedia Inc.";
-
- break;
- case "RITEK":
- manufacturer = "Ritek Co.";
-
- break;
- case "RICOHJPN":
- manufacturer = "Ricoh Company, Ltd.";
-
- break;
- case "ISSM":
- manufacturer = "Info Source Digital Media (Zhongshan) Co., Ltd.";
-
- break;
- case "LD":
- manufacturer = "Lead Data Inc.";
-
- break;
- case "MAXELL":
- manufacturer = "Hitachi Maxell, Ltd.";
-
- break;
- case "MCC":
- manufacturer = "Mitsubishi Kagaku Media Co., LTD.";
-
- break;
- case "PRODISC":
- manufacturer = "Prodisc Technology Inc.";
-
- break;
- case "Philips":
- case "PHILIPS":
-
- manufacturer = "Philips Components";
-
- break;
- case "YUDEN000":
- manufacturer = "Taiyo Yuden Company Ltd.";
-
- break;
- case "AML":
- manufacturer = "Avic Umedisc HK Ltd.";
-
- break;
- case "DAXON":
- manufacturer = "Daxon Technology Inc.";
-
- break;
- case "FTI":
- manufacturer = "Falcon Technologies International L.L.C.";
-
- break;
- case "GSC503":
- manufacturer = "Gigastore Corporation";
-
- break;
- case "MBIPG101":
- manufacturer = "Moser Baer India Ltd.";
-
- break;
- case "OPTODISC":
- manufacturer = "OptoDisc Ltd.";
-
- break;
- case "SONY":
- manufacturer = "Sony Corporation";
-
- break;
- case "TDK":
- manufacturer = "TDK Corporation";
-
- break;
- case "SENTINEL":
- manufacturer = "Sentinel B.V.";
-
- break;
- case "BeAll000":
- manufacturer = "BeALL Developers, Inc.";
-
- break;
- case "MPOMEDIA":
- manufacturer = "MPO Disque Compact";
-
- break;
- case "IMC JPN":
- manufacturer = "Intermedia Co., Ltd.";
-
- break;
- case "INFODISC":
- manufacturer = "InfoDisc Technology Co., Ltd.";
-
- break;
- case "WFKA11":
- manufacturer = "Wealth Fair Investment Inc.";
-
- break;
- case "MAM":
- manufacturer = "Manufacturing Advanced Media Europe";
-
- break;
- case "VDSPMSAB":
- manufacturer = "Interaxia Digital Storage Materials AG";
-
- break;
- case "KIC00000":
- manufacturer = "Advanced Media Corporation";
-
- break;
- case "MJC":
- manufacturer = "Megan Media Holdings Berhad";
-
- break;
- case "MUST":
- manufacturer = "Must Technology Co., Ltd.";
-
- break;
- case "IS02":
- manufacturer = "Infosmart Technology Ltd.";
-
- break;
- case "DDDessau":
- manufacturer = "Digital Disc Dessau GmbH";
-
- break;
- case "SKYMEDIA":
- manufacturer = "Sky Media Manufacturing S.A.";
-
- break;
- case "MICRON":
- manufacturer = "Eastgate Technology Ltd.";
-
- break;
- case "VIVA":
- manufacturer = "Viva Optical Disc Manufacturing Ltd.";
-
- break;
- case "EMDPZ3":
- manufacturer = "E-TOP Mediatek Inc.";
-
- break;
- case "LGEP16":
- manufacturer = "LG Electronics Inc.";
-
- break;
- case "POS":
- manufacturer = "POSTECH Corporation";
-
- break;
- case "Dvsn+160":
- manufacturer = "Digital Storage Technology Co., Ltd.";
-
- break;
- case "ODMS":
- manufacturer = "VDL Optical Disc Manufacturing Systems";
-
- break;
- }
+ string manufacturer = manufacturerId switch
+ {
+ "CMC MAG" => "CMC Magnetics Corporation",
+ "INFOME" => "InfoMedia Inc.",
+ "RITEK" => "Ritek Co.",
+ "RICOHJPN" => "Ricoh Company, Ltd.",
+ "ISSM" => "Info Source Digital Media (Zhongshan) Co., Ltd.",
+ "LD" => "Lead Data Inc.",
+ "MAXELL" => "Hitachi Maxell, Ltd.",
+ "MCC" => "Mitsubishi Kagaku Media Co., LTD.",
+ "PRODISC" => "Prodisc Technology Inc.",
+ "Philips" or "PHILIPS" => "Philips Components",
+ "YUDEN000" => "Taiyo Yuden Company Ltd.",
+ "AML" => "Avic Umedisc HK Ltd.",
+ "DAXON" => "Daxon Technology Inc.",
+ "FTI" => "Falcon Technologies International L.L.C.",
+ "GSC503" => "Gigastore Corporation",
+ "MBIPG101" => "Moser Baer India Ltd.",
+ "OPTODISC" => "OptoDisc Ltd.",
+ "SONY" => "Sony Corporation",
+ "TDK" => "TDK Corporation",
+ "SENTINEL" => "Sentinel B.V.",
+ "BeAll000" => "BeALL Developers, Inc.",
+ "MPOMEDIA" => "MPO Disque Compact",
+ "IMC JPN" => "Intermedia Co., Ltd.",
+ "INFODISC" => "InfoDisc Technology Co., Ltd.",
+ "WFKA11" => "Wealth Fair Investment Inc.",
+ "MAM" => "Manufacturing Advanced Media Europe",
+ "VDSPMSAB" => "Interaxia Digital Storage Materials AG",
+ "KIC00000" => "Advanced Media Corporation",
+ "MJC" => "Megan Media Holdings Berhad",
+ "MUST" => "Must Technology Co., Ltd.",
+ "IS02" => "Infosmart Technology Ltd.",
+ "DDDessau" => "Digital Disc Dessau GmbH",
+ "SKYMEDIA" => "Sky Media Manufacturing S.A.",
+ "MICRON" => "Eastgate Technology Ltd.",
+ "VIVA" => "Viva Optical Disc Manufacturing Ltd.",
+ "EMDPZ3" => "E-TOP Mediatek Inc.",
+ "LGEP16" => "LG Electronics Inc.",
+ "POS" => "POSTECH Corporation",
+ "Dvsn+160" => "Digital Storage Technology Co., Ltd.",
+ "ODMS" => "VDL Optical Disc Manufacturing Systems",
+ _ => ""
+ };
return manufacturer != "" ? $"{manufacturer} (\"{manufacturerId}\")" : $"\"{manufacturerId}\"";
}
diff --git a/Aaru.Decoders/SCSI/Modes/Headers.cs b/Aaru.Decoders/SCSI/Modes/Headers.cs
index 991b810dc..08866d197 100644
--- a/Aaru.Decoders/SCSI/Modes/Headers.cs
+++ b/Aaru.Decoders/SCSI/Modes/Headers.cs
@@ -682,214 +682,84 @@ public static partial class Modes
break;
case MediumTypes.Exatape54m:
{
- switch(descriptor.Density)
- {
- case DensityType.Ex8200:
- density = Localization.EXB8200;
-
- break;
- case DensityType.Ex8200c:
- density = Localization.EXB8200_compressed;
-
- break;
- case DensityType.Ex8500:
- density = Localization.EXB8500;
-
- break;
- case DensityType.Ex8500c:
- density = Localization.EXB8500_compressed;
-
- break;
- case DensityType.Mammoth:
- density = Localization.TapeName_Mammoth;
-
- break;
- case DensityType.DLT3_42k:
- density = Localization.DLT3_42k;
-
- break;
- case DensityType.DLT3_56t:
- density = Localization.DLT3_56t;
-
- break;
- case DensityType.DLT3_62k:
- case DensityType.DLT3_62kAlt:
- density = Localization.DLT3_62k;
-
- break;
- case DensityType.DLT3c:
- density = Localization.DLT3c;
-
- break;
- default:
- density = string.Format(Localization.unknown_density_code_0,
- (byte)descriptor.Density);
-
- break;
- }
+ density = descriptor.Density switch
+ {
+ DensityType.Ex8200 => Localization.EXB8200,
+ DensityType.Ex8200c => Localization.EXB8200_compressed,
+ DensityType.Ex8500 => Localization.EXB8500,
+ DensityType.Ex8500c => Localization.EXB8500_compressed,
+ DensityType.Mammoth => Localization.TapeName_Mammoth,
+ DensityType.DLT3_42k => Localization.DLT3_42k,
+ DensityType.DLT3_56t => Localization.DLT3_56t,
+ DensityType.DLT3_62k or DensityType.DLT3_62kAlt => Localization.DLT3_62k,
+ DensityType.DLT3c => Localization.DLT3c,
+ _ => string.Format(Localization.unknown_density_code_0,
+ (byte)descriptor.Density)
+ };
}
break;
case MediumTypes.Exatape80m:
{
- switch(descriptor.Density)
- {
- case DensityType.Ex8200:
- density = Localization.EXB8200;
-
- break;
- case DensityType.Ex8200c:
- density = Localization.EXB8200_compressed;
-
- break;
- case DensityType.Ex8500:
- density = Localization.EXB8500;
-
- break;
- case DensityType.Ex8500c:
- density = Localization.EXB8500_compressed;
-
- break;
- case DensityType.Mammoth:
- density = Localization.TapeName_Mammoth;
-
- break;
- case DensityType.DLT3_62k:
- case DensityType.DLT3_62kAlt:
- density = Localization.DLT3_XT;
-
- break;
- case DensityType.DLT3c:
- density = Localization.DLT3_XT_compressed;
-
- break;
- default:
- density = string.Format(Localization.unknown_density_code_0,
- (byte)descriptor.Density);
-
- break;
- }
+ density = descriptor.Density switch
+ {
+ DensityType.Ex8200 => Localization.EXB8200,
+ DensityType.Ex8200c => Localization.EXB8200_compressed,
+ DensityType.Ex8500 => Localization.EXB8500,
+ DensityType.Ex8500c => Localization.EXB8500_compressed,
+ DensityType.Mammoth => Localization.TapeName_Mammoth,
+ DensityType.DLT3_62k or DensityType.DLT3_62kAlt => Localization.DLT3_XT,
+ DensityType.DLT3c => Localization.DLT3_XT_compressed,
+ _ => string.Format(Localization.unknown_density_code_0,
+ (byte)descriptor.Density)
+ };
}
break;
case MediumTypes.Exatape106m:
{
- switch(descriptor.Density)
- {
- case DensityType.Ex8200:
- density = Localization.EXB8200;
-
- break;
- case DensityType.Ex8200c:
- density = Localization.EXB8200_compressed;
-
- break;
- case DensityType.Ex8500:
- density = Localization.EXB8500;
-
- break;
- case DensityType.Ex8500c:
- density = Localization.EXB8500_compressed;
-
- break;
- case DensityType.Mammoth:
- density = Localization.TapeName_Mammoth;
-
- break;
- case DensityType.DLT4:
- case DensityType.DLT4Alt:
- density = Localization.DLT4;
-
- break;
- case DensityType.DLT4_123k:
- case DensityType.DLT4_123kAlt:
- density = Localization.DLT4_123k;
-
- break;
- case DensityType.DLT4_98k:
- density = Localization.DLT4_98k;
-
- break;
- case DensityType.Travan5:
- density = Localization.Travan5;
-
- break;
- case DensityType.DLT4c:
- density = Localization.DLT4c;
-
- break;
- case DensityType.DLT4_85k:
- density = Localization.DLT4_85k;
-
- break;
- case DensityType.DLT4c_85k:
- density = Localization.DLT4c_85k;
-
- break;
- case DensityType.DLT4c_123k:
- density = Localization.DLT4c_123k;
-
- break;
- case DensityType.DLT4c_98k:
- density = Localization.DLT4c_98k;
-
- break;
- default:
- density = string.Format(Localization.unknown_density_code_0,
- (byte)descriptor.Density);
-
- break;
- }
+ density = descriptor.Density switch
+ {
+ DensityType.Ex8200 => Localization.EXB8200,
+ DensityType.Ex8200c => Localization.EXB8200_compressed,
+ DensityType.Ex8500 => Localization.EXB8500,
+ DensityType.Ex8500c => Localization.EXB8500_compressed,
+ DensityType.Mammoth => Localization.TapeName_Mammoth,
+ DensityType.DLT4 or DensityType.DLT4Alt => Localization.DLT4,
+ DensityType.DLT4_123k or DensityType.DLT4_123kAlt => Localization
+ .DLT4_123k,
+ DensityType.DLT4_98k => Localization.DLT4_98k,
+ DensityType.Travan5 => Localization.Travan5,
+ DensityType.DLT4c => Localization.DLT4c,
+ DensityType.DLT4_85k => Localization.DLT4_85k,
+ DensityType.DLT4c_85k => Localization.DLT4c_85k,
+ DensityType.DLT4c_123k => Localization.DLT4c_123k,
+ DensityType.DLT4c_98k => Localization.DLT4c_98k,
+ _ => string.Format(Localization.unknown_density_code_0,
+ (byte)descriptor.Density)
+ };
}
break;
case MediumTypes.Exatape106mXL:
{
- switch(descriptor.Density)
- {
- case DensityType.Ex8200:
- density = Localization.EXB8200;
+ density = descriptor.Density switch
+ {
+ DensityType.Ex8200 => Localization.EXB8200,
+ DensityType.Ex8200c => Localization.EXB8200_compressed,
+ DensityType.Ex8500 => Localization.EXB8500,
+ DensityType.Ex8500c => Localization.EXB8500_compressed,
+ DensityType.Mammoth => Localization.TapeName_Mammoth,
+ DensityType.SDLT1_133k or DensityType.SDLT1_133kAlt => Localization
+ .SDLT1_133k,
+ DensityType.SDLT1 =>
- break;
- case DensityType.Ex8200c:
- density = Localization.EXB8200_compressed;
-
- break;
- case DensityType.Ex8500:
- density = Localization.EXB8500;
-
- break;
- case DensityType.Ex8500c:
- density = Localization.EXB8500_compressed;
-
- break;
- case DensityType.Mammoth:
- density = Localization.TapeName_Mammoth;
-
- break;
- case DensityType.SDLT1_133k:
- case DensityType.SDLT1_133kAlt:
- density = Localization.SDLT1_133k;
-
- break;
- case DensityType.SDLT1:
- //case DensityType.SDLT1Alt:
- density = Localization.SDLT1;
-
- break;
- case DensityType.SDLT1c:
- density = Localization.SDLT1c;
-
- break;
- /*case DensityType.SDLT1_133kAlt:
- density = "Super DLTtape I at 133000 bpi compressed";
- break;*/
- default:
- density = string.Format(Localization.unknown_density_code_0,
- (byte)descriptor.Density);
-
- break;
- }
+ //case DensityType.SDLT1Alt:
+ Localization.SDLT1,
+ DensityType.SDLT1c => Localization.SDLT1c,
+ _ => string.Format(Localization.unknown_density_code_0,
+ (byte)descriptor.Density)
+ };
}
break;
@@ -906,23 +776,14 @@ public static partial class Modes
break;
case MediumTypes.VStapeI:
{
- switch(descriptor.Density)
- {
- case DensityType.VStape1:
- case DensityType.VStape1Alt:
- density = Localization.MediumType_VStapeI;
-
- break;
- case DensityType.VStape1c:
- density = Localization.VStape1c;
-
- break;
- default:
- density = string.Format(Localization.unknown_density_code_0,
- (byte)descriptor.Density);
-
- break;
- }
+ density = descriptor.Density switch
+ {
+ DensityType.VStape1 or DensityType.VStape1Alt => Localization
+ .MediumType_VStapeI,
+ DensityType.VStape1c => Localization.VStape1c,
+ _ => string.Format(Localization.unknown_density_code_0,
+ (byte)descriptor.Density)
+ };
}
break;
diff --git a/Aaru.Decoders/SCSI/Sense.cs b/Aaru.Decoders/SCSI/Sense.cs
index 86259130d..15335d758 100644
--- a/Aaru.Decoders/SCSI/Sense.cs
+++ b/Aaru.Decoders/SCSI/Sense.cs
@@ -340,19 +340,15 @@ public static class Sense
{
SenseType type = GetType(sense);
- switch(type)
- {
- case SenseType.StandardSense:
- return PrettifySense(DecodeStandard(sense));
- case SenseType.ExtendedSenseFixedCurrent:
- case SenseType.ExtendedSenseFixedPast:
- return PrettifySense(DecodeFixed(sense));
- case SenseType.ExtendedSenseDescriptorCurrent:
- case SenseType.ExtendedSenseDescriptorPast:
- return PrettifySense(DecodeDescriptor(sense));
- default:
- return null;
- }
+ return type switch
+ {
+ SenseType.StandardSense => PrettifySense(DecodeStandard(sense)),
+ SenseType.ExtendedSenseFixedCurrent or SenseType.ExtendedSenseFixedPast =>
+ PrettifySense(DecodeFixed(sense)),
+ SenseType.ExtendedSenseDescriptorCurrent or SenseType.ExtendedSenseDescriptorPast =>
+ PrettifySense(DecodeDescriptor(sense)),
+ _ => null
+ };
}
public static string PrettifySense(StandardSense? sense)
diff --git a/Aaru.Devices/Device/ScsiCommands/SSC.cs b/Aaru.Devices/Device/ScsiCommands/SSC.cs
index dbaf41cca..98c82f939 100644
--- a/Aaru.Devices/Device/ScsiCommands/SSC.cs
+++ b/Aaru.Devices/Device/ScsiCommands/SSC.cs
@@ -570,28 +570,19 @@ public partial class Device
public bool ReadPosition(out byte[] buffer, out byte[] senseBuffer, SscPositionForms responseForm, uint timeout,
out double duration)
{
- switch(responseForm)
- {
- case SscPositionForms.Long:
- case SscPositionForms.OldLong:
- case SscPositionForms.OldLongTclpVendor:
- case SscPositionForms.OldLongVendor:
- case SscPositionForms.Extended:
- buffer = new byte[32];
-
- break;
- case SscPositionForms.OldTclp:
- case SscPositionForms.OldTclpVendor:
- case SscPositionForms.Short:
- case SscPositionForms.VendorShort:
- buffer = new byte[20];
-
- break;
- default:
- buffer = new byte[32]; // Invalid
-
- break;
- }
+ buffer = responseForm switch
+ {
+ SscPositionForms.Long
+ or SscPositionForms.OldLong
+ or SscPositionForms.OldLongTclpVendor
+ or SscPositionForms.OldLongVendor
+ or SscPositionForms.Extended => new byte[32],
+ SscPositionForms.OldTclp
+ or SscPositionForms.OldTclpVendor
+ or SscPositionForms.Short
+ or SscPositionForms.VendorShort => new byte[20],
+ _ => new byte[32]
+ };
var cdb = new byte[10];
senseBuffer = new byte[64];
diff --git a/Aaru.Devices/Linux/Command.cs b/Aaru.Devices/Linux/Command.cs
index d1ddcbc06..dd996fefe 100644
--- a/Aaru.Devices/Linux/Command.cs
+++ b/Aaru.Devices/Linux/Command.cs
@@ -110,24 +110,18 @@ partial class Device
/// SG_IO direction
static ScsiDirection AtaProtocolToScsiDirection(AtaProtocol protocol)
{
- switch(protocol)
- {
- case AtaProtocol.DeviceDiagnostic:
- case AtaProtocol.DeviceReset:
- case AtaProtocol.HardReset:
- case AtaProtocol.NonData:
- case AtaProtocol.SoftReset:
- case AtaProtocol.ReturnResponse:
- return ScsiDirection.None;
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- return ScsiDirection.In;
- case AtaProtocol.PioOut:
- case AtaProtocol.UDmaOut:
- return ScsiDirection.Out;
- default:
- return ScsiDirection.Unspecified;
- }
+ return protocol switch
+ {
+ AtaProtocol.DeviceDiagnostic
+ or AtaProtocol.DeviceReset
+ or AtaProtocol.HardReset
+ or AtaProtocol.NonData
+ or AtaProtocol.SoftReset
+ or AtaProtocol.ReturnResponse => ScsiDirection.None,
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn => ScsiDirection.In,
+ AtaProtocol.PioOut or AtaProtocol.UDmaOut => ScsiDirection.Out,
+ _ => ScsiDirection.Unspecified
+ };
}
///
@@ -150,18 +144,11 @@ partial class Device
if(transferRegister != AtaTransferRegister.NoTransfer && protocol != AtaProtocol.NonData)
{
- switch(protocol)
- {
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- cdb[2] = 0x08;
-
- break;
- default:
- cdb[2] = 0x00;
-
- break;
- }
+ cdb[2] = protocol switch
+ {
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn => 0x08,
+ _ => 0x00
+ };
if(transferBlocks) cdb[2] |= 0x04;
@@ -222,18 +209,11 @@ partial class Device
if(transferRegister != AtaTransferRegister.NoTransfer && protocol != AtaProtocol.NonData)
{
- switch(protocol)
- {
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- cdb[2] = 0x08;
-
- break;
- default:
- cdb[2] = 0x00;
-
- break;
- }
+ cdb[2] = protocol switch
+ {
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn => 0x08,
+ _ => 0x00
+ };
if(transferBlocks) cdb[2] |= 0x04;
@@ -295,18 +275,11 @@ partial class Device
if(transferRegister != AtaTransferRegister.NoTransfer && protocol != AtaProtocol.NonData)
{
- switch(protocol)
- {
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- cdb[2] = 0x08;
-
- break;
- default:
- cdb[2] = 0x00;
-
- break;
- }
+ cdb[2] = protocol switch
+ {
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn => 0x08,
+ _ => 0x00
+ };
if(transferBlocks) cdb[2] |= 0x04;
diff --git a/Aaru.Devices/Linux/ListDevices.cs b/Aaru.Devices/Linux/ListDevices.cs
index 99b5cd4b2..22aa49e3c 100644
--- a/Aaru.Devices/Linux/ListDevices.cs
+++ b/Aaru.Devices/Linux/ListDevices.cs
@@ -140,19 +140,12 @@ static class ListDevices
else
devices[i].Bus = devices[i].Bus.ToUpper();
- switch(devices[i].Bus)
- {
- case "ATA":
- case "ATAPI":
- case "SCSI":
- case "USB":
- case "PCMCIA":
- case "FireWire":
- case "MMC/SD":
- devices[i].Supported = true;
-
- break;
- }
+ devices[i].Supported = devices[i].Bus switch
+ {
+ "ATA" or "ATAPI" or "SCSI" or "USB" or "PCMCIA" or "FireWire" or "MMC/SD" =>
+ true,
+ _ => devices[i].Supported
+ };
}
return devices;
diff --git a/Aaru.Devices/Windows/Command.cs b/Aaru.Devices/Windows/Command.cs
index 125e5d81f..8105ac88b 100644
--- a/Aaru.Devices/Windows/Command.cs
+++ b/Aaru.Devices/Windows/Command.cs
@@ -150,20 +150,12 @@ partial class Device
}
};
- switch(protocol)
- {
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- case AtaProtocol.Dma:
- aptd.AtaFlags = AtaFlags.DataIn;
-
- break;
- case AtaProtocol.PioOut:
- case AtaProtocol.UDmaOut:
- aptd.AtaFlags = AtaFlags.DataOut;
-
- break;
- }
+ aptd.AtaFlags = protocol switch
+ {
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn or AtaProtocol.Dma => AtaFlags.DataIn,
+ AtaProtocol.PioOut or AtaProtocol.UDmaOut => AtaFlags.DataOut,
+ _ => aptd.AtaFlags
+ };
switch(protocol)
{
@@ -253,20 +245,12 @@ partial class Device
}
};
- switch(protocol)
- {
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- case AtaProtocol.Dma:
- aptd.AtaFlags = AtaFlags.DataIn;
-
- break;
- case AtaProtocol.PioOut:
- case AtaProtocol.UDmaOut:
- aptd.AtaFlags = AtaFlags.DataOut;
-
- break;
- }
+ aptd.AtaFlags = protocol switch
+ {
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn or AtaProtocol.Dma => AtaFlags.DataIn,
+ AtaProtocol.PioOut or AtaProtocol.UDmaOut => AtaFlags.DataOut,
+ _ => aptd.AtaFlags
+ };
switch(protocol)
{
@@ -363,20 +347,12 @@ partial class Device
}
};
- switch(protocol)
- {
- case AtaProtocol.PioIn:
- case AtaProtocol.UDmaIn:
- case AtaProtocol.Dma:
- aptd.AtaFlags = AtaFlags.DataIn;
-
- break;
- case AtaProtocol.PioOut:
- case AtaProtocol.UDmaOut:
- aptd.AtaFlags = AtaFlags.DataOut;
-
- break;
- }
+ aptd.AtaFlags = protocol switch
+ {
+ AtaProtocol.PioIn or AtaProtocol.UDmaIn or AtaProtocol.Dma => AtaFlags.DataIn,
+ AtaProtocol.PioOut or AtaProtocol.UDmaOut => AtaFlags.DataOut,
+ _ => aptd.AtaFlags
+ };
switch(protocol)
{
diff --git a/Aaru.Devices/Windows/ListDevices.cs b/Aaru.Devices/Windows/ListDevices.cs
index 71f3c7e7d..31742bcef 100644
--- a/Aaru.Devices/Windows/ListDevices.cs
+++ b/Aaru.Devices/Windows/ListDevices.cs
@@ -197,24 +197,22 @@ static class ListDevices
}
}
- switch(descriptor.BusType)
- {
- case StorageBusType.SCSI:
- case StorageBusType.ATAPI:
- case StorageBusType.ATA:
- case StorageBusType.FireWire:
- case StorageBusType.SSA:
- case StorageBusType.Fibre:
- case StorageBusType.USB:
- case StorageBusType.iSCSI:
- case StorageBusType.SAS:
- case StorageBusType.SATA:
- case StorageBusType.SecureDigital:
- case StorageBusType.MultiMediaCard:
- info.Supported = true;
-
- break;
- }
+ info.Supported = descriptor.BusType switch
+ {
+ StorageBusType.SCSI
+ or StorageBusType.ATAPI
+ or StorageBusType.ATA
+ or StorageBusType.FireWire
+ or StorageBusType.SSA
+ or StorageBusType.Fibre
+ or StorageBusType.USB
+ or StorageBusType.iSCSI
+ or StorageBusType.SAS
+ or StorageBusType.SATA
+ or StorageBusType.SecureDigital
+ or StorageBusType.MultiMediaCard => true,
+ _ => info.Supported
+ };
Marshal.FreeHGlobal(descriptorPtr);
devList.Add(info);
diff --git a/Aaru.Filesystems/FAT/Super.cs b/Aaru.Filesystems/FAT/Super.cs
index e45d506b9..f50425d37 100644
--- a/Aaru.Filesystems/FAT/Super.cs
+++ b/Aaru.Filesystems/FAT/Super.cs
@@ -748,18 +748,13 @@ public sealed partial class FAT
Metadata.VolumeName = Metadata.VolumeName?.Trim();
_statfs.Blocks = Metadata.Clusters;
- switch(bpbKind)
- {
- case BpbKind.ShortFat32:
- case BpbKind.LongFat32:
- _statfs.Type = Metadata.Type == FS_TYPE_FAT_PLUS ? FS_TYPE_FAT_PLUS : FS_TYPE_FAT32;
-
- break;
- default:
- _statfs.Type = _fat16 ? FS_TYPE_FAT16 : FS_TYPE_FAT12;
-
- break;
- }
+ _statfs.Type = bpbKind switch
+ {
+ BpbKind.ShortFat32 or BpbKind.LongFat32 => Metadata.Type == FS_TYPE_FAT_PLUS
+ ? FS_TYPE_FAT_PLUS
+ : FS_TYPE_FAT32,
+ _ => _fat16 ? FS_TYPE_FAT16 : FS_TYPE_FAT12
+ };
_bytesPerCluster = _sectorsPerCluster * imagePlugin.Info.SectorSize;
diff --git a/Aaru.Filesystems/LisaFS/File.cs b/Aaru.Filesystems/LisaFS/File.cs
index 4b3fe950a..e15c710ed 100644
--- a/Aaru.Filesystems/LisaFS/File.cs
+++ b/Aaru.Filesystems/LisaFS/File.cs
@@ -114,22 +114,16 @@ public sealed partial class LisaFS
if(_debug)
{
- switch(mynode.FileId)
- {
- case FILEID_BOOT_SIGNED:
- case FILEID_LOADER_SIGNED:
- case (short)FILEID_MDDF:
- case (short)FILEID_BITMAP:
- case (short)FILEID_SRECORD:
- case (short)FILEID_CATALOG:
- error = ReadSystemFile(mynode.FileId, out tmp);
-
- break;
- default:
- error = ReadFile(mynode.FileId, out tmp);
-
- break;
- }
+ error = mynode.FileId switch
+ {
+ FILEID_BOOT_SIGNED
+ or FILEID_LOADER_SIGNED
+ or (short)FILEID_MDDF
+ or (short)FILEID_BITMAP
+ or (short)FILEID_SRECORD
+ or (short)FILEID_CATALOG => ReadSystemFile(mynode.FileId, out tmp),
+ _ => ReadFile(mynode.FileId, out tmp)
+ };
}
else
error = ReadFile(mynode.FileId, out tmp);
diff --git a/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs b/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs
index 3056afa2c..bf7a7ec3e 100644
--- a/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs
+++ b/Aaru.Gui/ViewModels/Panels/SubdirectoryViewModel.cs
@@ -204,56 +204,50 @@ public sealed class SubdirectoryViewModel
for(var ci = 0; ci < chars.Length; ci++)
{
- switch(filename[ci])
- {
- case '<':
- case '>':
- case ':':
- case '\\':
- case '/':
- case '|':
- case '?':
- case '*':
- case '\u0000':
- case '\u0001':
- case '\u0002':
- case '\u0003':
- case '\u0004':
- case '\u0005':
- case '\u0006':
- case '\u0007':
- case '\u0008':
- case '\u0009':
- case '\u000A':
- case '\u000B':
- case '\u000C':
- case '\u000D':
- case '\u000E':
- case '\u000F':
- case '\u0010':
- case '\u0011':
- case '\u0012':
- case '\u0013':
- case '\u0014':
- case '\u0015':
- case '\u0016':
- case '\u0017':
- case '\u0018':
- case '\u0019':
- case '\u001A':
- case '\u001B':
- case '\u001C':
- case '\u001D':
- case '\u001E':
- case '\u001F':
- chars[ci] = '_';
-
- break;
- default:
- chars[ci] = filename[ci];
-
- break;
- }
+ chars[ci] = filename[ci] switch
+ {
+ '<'
+ or '>'
+ or ':'
+ or '\\'
+ or '/'
+ or '|'
+ or '?'
+ or '*'
+ or '\u0000'
+ or '\u0001'
+ or '\u0002'
+ or '\u0003'
+ or '\u0004'
+ or '\u0005'
+ or '\u0006'
+ or '\u0007'
+ or '\u0008'
+ or '\u0009'
+ or '\u000A'
+ or '\u000B'
+ or '\u000C'
+ or '\u000D'
+ or '\u000E'
+ or '\u000F'
+ or '\u0010'
+ or '\u0011'
+ or '\u0012'
+ or '\u0013'
+ or '\u0014'
+ or '\u0015'
+ or '\u0016'
+ or '\u0017'
+ or '\u0018'
+ or '\u0019'
+ or '\u001A'
+ or '\u001B'
+ or '\u001C'
+ or '\u001D'
+ or '\u001E'
+ or '\u001F' => '_',
+ _ => filename[ci]
+ };
}
if(filename.StartsWith("CON", StringComparison.InvariantCultureIgnoreCase) ||
diff --git a/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs b/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs
index ec9e01b5c..1c9de961d 100644
--- a/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs
+++ b/Aaru.Gui/ViewModels/Windows/MainWindowViewModel.cs
@@ -857,47 +857,26 @@ public sealed class MainWindowViewModel : ViewModelBase
remoteDev.RemoteArchitecture);
}
- switch(dev.Type)
- {
- case DeviceType.ATAPI:
- case DeviceType.SCSI:
- switch(dev.ScsiType)
- {
- case PeripheralDeviceTypes.DirectAccess:
- case PeripheralDeviceTypes.SCSIZonedBlockDevice:
- case PeripheralDeviceTypes.SimplifiedDevice:
- deviceModel.Icon = dev.IsRemovable
+ deviceModel.Icon = dev.Type switch
+ {
+ DeviceType.ATAPI or DeviceType.SCSI => dev.ScsiType switch
+ {
+ PeripheralDeviceTypes.DirectAccess
+ or PeripheralDeviceTypes.SCSIZonedBlockDevice
+ or PeripheralDeviceTypes.SimplifiedDevice => dev.IsRemovable
? dev.IsUsb ? _usbIcon : _removableIcon
- : _genericHddIcon;
-
- break;
- case PeripheralDeviceTypes.SequentialAccess:
- deviceModel.Icon = _genericTapeIcon;
-
- break;
- case PeripheralDeviceTypes.OpticalDevice:
- case PeripheralDeviceTypes.WriteOnceDevice:
- case PeripheralDeviceTypes.OCRWDevice:
- deviceModel.Icon = _removableIcon;
-
- break;
- case PeripheralDeviceTypes.MultiMediaDevice:
- deviceModel.Icon = _genericOpticalIcon;
-
- break;
- }
-
- break;
- case DeviceType.SecureDigital:
- case DeviceType.MMC:
- deviceModel.Icon = _sdIcon;
-
- break;
- case DeviceType.NVMe:
- deviceModel.Icon = null;
-
- break;
- }
+ : _genericHddIcon,
+ PeripheralDeviceTypes.SequentialAccess => _genericTapeIcon,
+ PeripheralDeviceTypes.OpticalDevice
+ or PeripheralDeviceTypes.WriteOnceDevice
+ or PeripheralDeviceTypes.OCRWDevice => _removableIcon,
+ PeripheralDeviceTypes.MultiMediaDevice => _genericOpticalIcon,
+ _ => deviceModel.Icon
+ },
+ DeviceType.SecureDigital or DeviceType.MMC => _sdIcon,
+ DeviceType.NVMe => null,
+ _ => deviceModel.Icon
+ };
dev.Close();
}
diff --git a/Aaru.Gui/ViewModels/Windows/MediaDumpViewModel.cs b/Aaru.Gui/ViewModels/Windows/MediaDumpViewModel.cs
index 92c598608..c005ac37a 100644
--- a/Aaru.Gui/ViewModels/Windows/MediaDumpViewModel.cs
+++ b/Aaru.Gui/ViewModels/Windows/MediaDumpViewModel.cs
@@ -197,59 +197,53 @@ public sealed class MediaDumpViewModel : ViewModelBase
DisplayName = info.DisplayName
}));
- switch(mediaType)
- {
- case MediaType.CD:
- case MediaType.CDDA:
- case MediaType.CDG:
- case MediaType.CDEG:
- case MediaType.CDI:
- case MediaType.CDROM:
- case MediaType.CDROMXA:
- case MediaType.CDPLUS:
- case MediaType.CDMO:
- case MediaType.CDR:
- case MediaType.CDRW:
- case MediaType.CDMRW:
- case MediaType.VCD:
- case MediaType.SVCD:
- case MediaType.PCD:
- case MediaType.DDCD:
- case MediaType.DDCDR:
- case MediaType.DDCDRW:
- case MediaType.DTSCD:
- case MediaType.CDMIDI:
- case MediaType.CDV:
- case MediaType.CDIREADY:
- case MediaType.FMTOWNS:
- case MediaType.PS1CD:
- case MediaType.PS2CD:
- case MediaType.MEGACD:
- case MediaType.SATURNCD:
- case MediaType.GDROM:
- case MediaType.GDR:
- case MediaType.MilCD:
- case MediaType.SuperCDROM2:
- case MediaType.JaguarCD:
- case MediaType.ThreeDO:
- case MediaType.PCFX:
- case MediaType.NeoGeoCD:
- case MediaType.CDTV:
- case MediaType.CD32:
- case MediaType.Playdia:
- case MediaType.Pippin:
- case MediaType.VideoNow:
- case MediaType.VideoNowColor:
- case MediaType.VideoNowXp:
- case MediaType.CVD:
- Track1PregapVisible = true;
-
- break;
- default:
- Track1PregapVisible = false;
-
- break;
- }
+ Track1PregapVisible = mediaType switch
+ {
+ MediaType.CD
+ or MediaType.CDDA
+ or MediaType.CDG
+ or MediaType.CDEG
+ or MediaType.CDI
+ or MediaType.CDROM
+ or MediaType.CDROMXA
+ or MediaType.CDPLUS
+ or MediaType.CDMO
+ or MediaType.CDR
+ or MediaType.CDRW
+ or MediaType.CDMRW
+ or MediaType.VCD
+ or MediaType.SVCD
+ or MediaType.PCD
+ or MediaType.DDCD
+ or MediaType.DDCDR
+ or MediaType.DDCDRW
+ or MediaType.DTSCD
+ or MediaType.CDMIDI
+ or MediaType.CDV
+ or MediaType.CDIREADY
+ or MediaType.FMTOWNS
+ or MediaType.PS1CD
+ or MediaType.PS2CD
+ or MediaType.MEGACD
+ or MediaType.SATURNCD
+ or MediaType.GDROM
+ or MediaType.GDR
+ or MediaType.MilCD
+ or MediaType.SuperCDROM2
+ or MediaType.JaguarCD
+ or MediaType.ThreeDO
+ or MediaType.PCFX
+ or MediaType.NeoGeoCD
+ or MediaType.CDTV
+ or MediaType.CD32
+ or MediaType.Playdia
+ or MediaType.Pippin
+ or MediaType.VideoNow
+ or MediaType.VideoNowColor
+ or MediaType.VideoNowXp
+ or MediaType.CVD => true,
+ _ => false
+ };
_devicePath = devicePath;
}
diff --git a/Aaru.Images/AaruFormat/Helpers.cs b/Aaru.Images/AaruFormat/Helpers.cs
index a27f68e30..bff118caa 100644
--- a/Aaru.Images/AaruFormat/Helpers.cs
+++ b/Aaru.Images/AaruFormat/Helpers.cs
@@ -140,107 +140,105 @@ public sealed partial class AaruFormat
// Get the Aaru Metadata media type from Aaru media type
static MetadataMediaType GetMetadataMediaType(MediaType type)
{
- switch(type)
- {
- case MediaType.CD:
- case MediaType.CDDA:
- case MediaType.CDG:
- case MediaType.CDEG:
- case MediaType.CDI:
- case MediaType.CDIREADY:
- case MediaType.CDROM:
- case MediaType.CDROMXA:
- case MediaType.CDPLUS:
- case MediaType.CDMO:
- case MediaType.CDR:
- case MediaType.CDRW:
- case MediaType.CDMRW:
- case MediaType.VCD:
- case MediaType.SVCD:
- case MediaType.PCD:
- case MediaType.SACD:
- case MediaType.DDCD:
- case MediaType.DDCDR:
- case MediaType.DDCDRW:
- case MediaType.DTSCD:
- case MediaType.CDMIDI:
- case MediaType.CDV:
- case MediaType.DVDROM:
- case MediaType.DVDR:
- case MediaType.DVDRW:
- case MediaType.DVDPR:
- case MediaType.DVDPRW:
- case MediaType.DVDPRWDL:
- case MediaType.DVDRDL:
- case MediaType.DVDPRDL:
- case MediaType.DVDRAM:
- case MediaType.DVDRWDL:
- case MediaType.DVDDownload:
- case MediaType.HDDVDROM:
- case MediaType.HDDVDRAM:
- case MediaType.HDDVDR:
- case MediaType.HDDVDRW:
- case MediaType.HDDVDRDL:
- case MediaType.HDDVDRWDL:
- case MediaType.BDROM:
- case MediaType.UHDBD:
- case MediaType.BDR:
- case MediaType.BDRE:
- case MediaType.BDRXL:
- case MediaType.BDREXL:
- case MediaType.EVD:
- case MediaType.FVD:
- case MediaType.HVD:
- case MediaType.CBHD:
- case MediaType.HDVMD:
- case MediaType.VCDHD:
- case MediaType.SVOD:
- case MediaType.FDDVD:
- case MediaType.LD:
- case MediaType.LDROM:
- case MediaType.CRVdisc:
- case MediaType.LDROM2:
- case MediaType.LVROM:
- case MediaType.MegaLD:
- case MediaType.PS1CD:
- case MediaType.PS2CD:
- case MediaType.PS2DVD:
- case MediaType.PS3DVD:
- case MediaType.PS3BD:
- case MediaType.PS4BD:
- case MediaType.PS5BD:
- case MediaType.UMD:
- case MediaType.XGD:
- case MediaType.XGD2:
- case MediaType.XGD3:
- case MediaType.XGD4:
- case MediaType.MEGACD:
- case MediaType.SATURNCD:
- case MediaType.GDROM:
- case MediaType.GDR:
- case MediaType.SuperCDROM2:
- case MediaType.JaguarCD:
- case MediaType.ThreeDO:
- case MediaType.PCFX:
- case MediaType.NeoGeoCD:
- case MediaType.GOD:
- case MediaType.WOD:
- case MediaType.WUOD:
- case MediaType.CDTV:
- case MediaType.CD32:
- case MediaType.Nuon:
- case MediaType.Playdia:
- case MediaType.Pippin:
- case MediaType.FMTOWNS:
- case MediaType.MilCD:
- case MediaType.VideoNow:
- case MediaType.VideoNowColor:
- case MediaType.VideoNowXp:
- case MediaType.CVD:
- return MetadataMediaType.OpticalDisc;
- default:
- return MetadataMediaType.BlockMedia;
- }
+ return type switch
+ {
+ MediaType.CD
+ or MediaType.CDDA
+ or MediaType.CDG
+ or MediaType.CDEG
+ or MediaType.CDI
+ or MediaType.CDIREADY
+ or MediaType.CDROM
+ or MediaType.CDROMXA
+ or MediaType.CDPLUS
+ or MediaType.CDMO
+ or MediaType.CDR
+ or MediaType.CDRW
+ or MediaType.CDMRW
+ or MediaType.VCD
+ or MediaType.SVCD
+ or MediaType.PCD
+ or MediaType.SACD
+ or MediaType.DDCD
+ or MediaType.DDCDR
+ or MediaType.DDCDRW
+ or MediaType.DTSCD
+ or MediaType.CDMIDI
+ or MediaType.CDV
+ or MediaType.DVDROM
+ or MediaType.DVDR
+ or MediaType.DVDRW
+ or MediaType.DVDPR
+ or MediaType.DVDPRW
+ or MediaType.DVDPRWDL
+ or MediaType.DVDRDL
+ or MediaType.DVDPRDL
+ or MediaType.DVDRAM
+ or MediaType.DVDRWDL
+ or MediaType.DVDDownload
+ or MediaType.HDDVDROM
+ or MediaType.HDDVDRAM
+ or MediaType.HDDVDR
+ or MediaType.HDDVDRW
+ or MediaType.HDDVDRDL
+ or MediaType.HDDVDRWDL
+ or MediaType.BDROM
+ or MediaType.UHDBD
+ or MediaType.BDR
+ or MediaType.BDRE
+ or MediaType.BDRXL
+ or MediaType.BDREXL
+ or MediaType.EVD
+ or MediaType.FVD
+ or MediaType.HVD
+ or MediaType.CBHD
+ or MediaType.HDVMD
+ or MediaType.VCDHD
+ or MediaType.SVOD
+ or MediaType.FDDVD
+ or MediaType.LD
+ or MediaType.LDROM
+ or MediaType.CRVdisc
+ or MediaType.LDROM2
+ or MediaType.LVROM
+ or MediaType.MegaLD
+ or MediaType.PS1CD
+ or MediaType.PS2CD
+ or MediaType.PS2DVD
+ or MediaType.PS3DVD
+ or MediaType.PS3BD
+ or MediaType.PS4BD
+ or MediaType.PS5BD
+ or MediaType.UMD
+ or MediaType.XGD
+ or MediaType.XGD2
+ or MediaType.XGD3
+ or MediaType.XGD4
+ or MediaType.MEGACD
+ or MediaType.SATURNCD
+ or MediaType.GDROM
+ or MediaType.GDR
+ or MediaType.SuperCDROM2
+ or MediaType.JaguarCD
+ or MediaType.ThreeDO
+ or MediaType.PCFX
+ or MediaType.NeoGeoCD
+ or MediaType.GOD
+ or MediaType.WOD
+ or MediaType.WUOD
+ or MediaType.CDTV
+ or MediaType.CD32
+ or MediaType.Nuon
+ or MediaType.Playdia
+ or MediaType.Pippin
+ or MediaType.FMTOWNS
+ or MediaType.MilCD
+ or MediaType.VideoNow
+ or MediaType.VideoNowColor
+ or MediaType.VideoNowXp
+ or MediaType.CVD => MetadataMediaType.OpticalDisc,
+ _ => MetadataMediaType.BlockMedia
+ };
}
// Gets a DDT entry
diff --git a/Aaru.Images/AaruFormat/Read.cs b/Aaru.Images/AaruFormat/Read.cs
index 750d16c58..c7addd74f 100644
--- a/Aaru.Images/AaruFormat/Read.cs
+++ b/Aaru.Images/AaruFormat/Read.cs
@@ -2541,26 +2541,15 @@ public sealed partial class AaruFormat
case MediaType.PriamDataTower:
if(_sectorSubchannel == null) return ReadSector(sectorAddress, out buffer);
- uint tagSize = 0;
-
- switch(_imageInfo.MediaType)
- {
- case MediaType.AppleFileWare:
- case MediaType.AppleProfile:
- case MediaType.AppleWidget:
- tagSize = 20;
-
- break;
- case MediaType.AppleSonySS:
- case MediaType.AppleSonyDS:
- tagSize = 12;
-
- break;
- case MediaType.PriamDataTower:
- tagSize = 24;
-
- break;
- }
+ uint tagSize = _imageInfo.MediaType switch
+ {
+ MediaType.AppleFileWare
+ or MediaType.AppleProfile
+ or MediaType.AppleWidget => 20,
+ MediaType.AppleSonySS or MediaType.AppleSonyDS => 12,
+ MediaType.PriamDataTower => 24,
+ _ => 0
+ };
uint sectorSize = 512 + tagSize;
errno = ReadSectors(sectorAddress, length, out data);
diff --git a/Aaru.Images/AaruFormat/Write.cs b/Aaru.Images/AaruFormat/Write.cs
index 5a7b6fb11..ed1124088 100644
--- a/Aaru.Images/AaruFormat/Write.cs
+++ b/Aaru.Images/AaruFormat/Write.cs
@@ -4979,26 +4979,14 @@ public sealed partial class AaruFormat
or MediaType.AppleWidget
or MediaType.PriamDataTower)
{
- DataType tagType = DataType.NoData;
-
- switch(_imageInfo.MediaType)
- {
- case MediaType.AppleSonySS:
- case MediaType.AppleSonyDS:
- tagType = DataType.AppleSonyTag;
-
- break;
- case MediaType.AppleFileWare:
- case MediaType.AppleProfile:
- case MediaType.AppleWidget:
- tagType = DataType.AppleProfileTag;
-
- break;
- case MediaType.PriamDataTower:
- tagType = DataType.PriamDataTowerTag;
-
- break;
- }
+ DataType tagType = _imageInfo.MediaType switch
+ {
+ MediaType.AppleSonySS or MediaType.AppleSonyDS => DataType.AppleSonyTag,
+ MediaType.AppleFileWare or MediaType.AppleProfile or MediaType.AppleWidget =>
+ DataType.AppleProfileTag,
+ MediaType.PriamDataTower => DataType.PriamDataTowerTag,
+ _ => DataType.NoData
+ };
idxEntry = new IndexEntry
{
@@ -5021,24 +5009,15 @@ public sealed partial class AaruFormat
crc64 = BitConverter.ToUInt64(blockCrc, 0)
};
- switch(_imageInfo.MediaType)
- {
- case MediaType.AppleSonySS:
- case MediaType.AppleSonyDS:
- subchannelBlock.sectorSize = 12;
-
- break;
- case MediaType.AppleFileWare:
- case MediaType.AppleProfile:
- case MediaType.AppleWidget:
- subchannelBlock.sectorSize = 20;
-
- break;
- case MediaType.PriamDataTower:
- subchannelBlock.sectorSize = 24;
-
- break;
- }
+ subchannelBlock.sectorSize = _imageInfo.MediaType switch
+ {
+ MediaType.AppleSonySS or MediaType.AppleSonyDS => 12,
+ MediaType.AppleFileWare
+ or MediaType.AppleProfile
+ or MediaType.AppleWidget => 20,
+ MediaType.PriamDataTower => 24,
+ _ => subchannelBlock.sectorSize
+ };
byte[] lzmaProperties = null;
diff --git a/Aaru.Images/Alcohol120/Helpers.cs b/Aaru.Images/Alcohol120/Helpers.cs
index 66655cab7..5beb63550 100644
--- a/Aaru.Images/Alcohol120/Helpers.cs
+++ b/Aaru.Images/Alcohol120/Helpers.cs
@@ -39,49 +39,28 @@ public sealed partial class Alcohol120
{
static ushort TrackModeToCookedBytesPerSector(TrackMode trackMode)
{
- switch(trackMode)
- {
- case TrackMode.Mode1:
- case TrackMode.Mode1Alt:
- case TrackMode.Mode2F1:
- case TrackMode.Mode2F1Alt:
- return 2048;
- case TrackMode.Mode2F2:
- case TrackMode.Mode2F2Alt:
- return 2324;
- case TrackMode.Mode2:
- return 2336;
- case TrackMode.Audio:
- case TrackMode.AudioAlt:
- return 2352;
- case TrackMode.DVD:
- return 2048;
- default:
- return 0;
- }
+ return trackMode switch
+ {
+ TrackMode.Mode1 or TrackMode.Mode1Alt or TrackMode.Mode2F1 or TrackMode.Mode2F1Alt => 2048,
+ TrackMode.Mode2F2 or TrackMode.Mode2F2Alt => 2324,
+ TrackMode.Mode2 => 2336,
+ TrackMode.Audio or TrackMode.AudioAlt => 2352,
+ TrackMode.DVD => 2048,
+ _ => 0
+ };
}
static TrackType TrackModeToTrackType(TrackMode trackType)
{
- switch(trackType)
- {
- case TrackMode.Mode1:
- case TrackMode.Mode1Alt:
- return TrackType.CdMode1;
- case TrackMode.Mode2F1:
- case TrackMode.Mode2F1Alt:
- return TrackType.CdMode2Form1;
- case TrackMode.Mode2F2:
- case TrackMode.Mode2F2Alt:
- return TrackType.CdMode2Form2;
- case TrackMode.Mode2:
- return TrackType.CdMode2Formless;
- case TrackMode.Audio:
- case TrackMode.AudioAlt:
- return TrackType.Audio;
- default:
- return TrackType.Data;
- }
+ return trackType switch
+ {
+ TrackMode.Mode1 or TrackMode.Mode1Alt => TrackType.CdMode1,
+ TrackMode.Mode2F1 or TrackMode.Mode2F1Alt => TrackType.CdMode2Form1,
+ TrackMode.Mode2F2 or TrackMode.Mode2F2Alt => TrackType.CdMode2Form2,
+ TrackMode.Mode2 => TrackType.CdMode2Formless,
+ TrackMode.Audio or TrackMode.AudioAlt => TrackType.Audio,
+ _ => TrackType.Data
+ };
}
static MediaType MediumTypeToMediaType(MediumType discType) => discType switch
@@ -96,59 +75,53 @@ public sealed partial class Alcohol120
static MediumType MediaTypeToMediumType(MediaType type)
{
- switch(type)
- {
- case MediaType.CD:
- case MediaType.CDDA:
- case MediaType.CDEG:
- case MediaType.CDG:
- case MediaType.CDI:
- case MediaType.CDMIDI:
- case MediaType.CDPLUS:
- case MediaType.CDROM:
- case MediaType.CDROMXA:
- case MediaType.CDV:
- case MediaType.DTSCD:
- case MediaType.JaguarCD:
- case MediaType.MEGACD:
- case MediaType.PS1CD:
- case MediaType.PS2CD:
- case MediaType.SuperCDROM2:
- case MediaType.SVCD:
- case MediaType.SATURNCD:
- case MediaType.ThreeDO:
- case MediaType.VCD:
- case MediaType.VCDHD:
- case MediaType.NeoGeoCD:
- case MediaType.PCFX:
- case MediaType.CDTV:
- case MediaType.CD32:
- case MediaType.Nuon:
- case MediaType.Playdia:
- case MediaType.Pippin:
- case MediaType.FMTOWNS:
- case MediaType.MilCD:
- case MediaType.VideoNow:
- case MediaType.VideoNowColor:
- case MediaType.VideoNowXp:
- case MediaType.CVD:
- return MediumType.CD;
- case MediaType.CDR:
- return MediumType.CDR;
- case MediaType.CDRW:
- case MediaType.CDMRW:
- return MediumType.CDRW;
- case MediaType.DVDR:
- case MediaType.DVDRW:
- case MediaType.DVDPR:
- case MediaType.DVDRDL:
- case MediaType.DVDRWDL:
- case MediaType.DVDPRDL:
- case MediaType.DVDPRWDL:
- return MediumType.DVDR;
- default:
- return MediumType.DVD;
- }
+ return type switch
+ {
+ MediaType.CD
+ or MediaType.CDDA
+ or MediaType.CDEG
+ or MediaType.CDG
+ or MediaType.CDI
+ or MediaType.CDMIDI
+ or MediaType.CDPLUS
+ or MediaType.CDROM
+ or MediaType.CDROMXA
+ or MediaType.CDV
+ or MediaType.DTSCD
+ or MediaType.JaguarCD
+ or MediaType.MEGACD
+ or MediaType.PS1CD
+ or MediaType.PS2CD
+ or MediaType.SuperCDROM2
+ or MediaType.SVCD
+ or MediaType.SATURNCD
+ or MediaType.ThreeDO
+ or MediaType.VCD
+ or MediaType.VCDHD
+ or MediaType.NeoGeoCD
+ or MediaType.PCFX
+ or MediaType.CDTV
+ or MediaType.CD32
+ or MediaType.Nuon
+ or MediaType.Playdia
+ or MediaType.Pippin
+ or MediaType.FMTOWNS
+ or MediaType.MilCD
+ or MediaType.VideoNow
+ or MediaType.VideoNowColor
+ or MediaType.VideoNowXp
+ or MediaType.CVD => MediumType.CD,
+ MediaType.CDR => MediumType.CDR,
+ MediaType.CDRW or MediaType.CDMRW => MediumType.CDRW,
+ MediaType.DVDR
+ or MediaType.DVDRW
+ or MediaType.DVDPR
+ or MediaType.DVDRDL
+ or MediaType.DVDRWDL
+ or MediaType.DVDPRDL
+ or MediaType.DVDPRWDL => MediumType.DVDR,
+ _ => MediumType.DVD
+ };
}
static TrackMode TrackTypeToTrackMode(TrackType type) => type switch
diff --git a/Aaru.Images/Alcohol120/Read.cs b/Aaru.Images/Alcohol120/Read.cs
index 29ef1a10b..95efb3655 100644
--- a/Aaru.Images/Alcohol120/Read.cs
+++ b/Aaru.Images/Alcohol120/Read.cs
@@ -504,17 +504,15 @@ public sealed partial class Alcohol120
// Any non first track is audio
audio |= alcoholTrack.point != 1 && alcoholTrack.mode is TrackMode.Audio or TrackMode.AudioAlt;
- switch(alcoholTrack.mode)
- {
- case TrackMode.Mode2:
- case TrackMode.Mode2F1:
- case TrackMode.Mode2F2:
- case TrackMode.Mode2F1Alt:
- case TrackMode.Mode2F2Alt:
- mode2 = true;
-
- break;
- }
+ mode2 = alcoholTrack.mode switch
+ {
+ TrackMode.Mode2
+ or TrackMode.Mode2F1
+ or TrackMode.Mode2F2
+ or TrackMode.Mode2F1Alt
+ or TrackMode.Mode2F2Alt => true,
+ _ => mode2
+ };
}
if(!data && !firstData)
diff --git a/Aaru.Images/Alcohol120/Write.cs b/Aaru.Images/Alcohol120/Write.cs
index b4a203360..0ce60b73d 100644
--- a/Aaru.Images/Alcohol120/Write.cs
+++ b/Aaru.Images/Alcohol120/Write.cs
@@ -89,53 +89,47 @@ public sealed partial class Alcohol120
_imageInfo.MediaType = mediaType;
- switch(mediaType)
- {
- case MediaType.CD:
- case MediaType.CDDA:
- case MediaType.CDEG:
- case MediaType.CDG:
- case MediaType.CDI:
- case MediaType.CDMIDI:
- case MediaType.CDMRW:
- case MediaType.CDPLUS:
- case MediaType.CDR:
- case MediaType.CDROM:
- case MediaType.CDROMXA:
- case MediaType.CDRW:
- case MediaType.CDV:
- case MediaType.DTSCD:
- case MediaType.JaguarCD:
- case MediaType.MEGACD:
- case MediaType.PS1CD:
- case MediaType.PS2CD:
- case MediaType.SuperCDROM2:
- case MediaType.SVCD:
- case MediaType.SATURNCD:
- case MediaType.ThreeDO:
- case MediaType.VCD:
- case MediaType.VCDHD:
- case MediaType.NeoGeoCD:
- case MediaType.PCFX:
- case MediaType.CDTV:
- case MediaType.CD32:
- case MediaType.Nuon:
- case MediaType.Playdia:
- case MediaType.Pippin:
- case MediaType.FMTOWNS:
- case MediaType.MilCD:
- case MediaType.VideoNow:
- case MediaType.VideoNowColor:
- case MediaType.VideoNowXp:
- case MediaType.CVD:
- _isDvd = false;
-
- break;
- default:
- _isDvd = true;
-
- break;
- }
+ _isDvd = mediaType switch
+ {
+ MediaType.CD
+ or MediaType.CDDA
+ or MediaType.CDEG
+ or MediaType.CDG
+ or MediaType.CDI
+ or MediaType.CDMIDI
+ or MediaType.CDMRW
+ or MediaType.CDPLUS
+ or MediaType.CDR
+ or MediaType.CDROM
+ or MediaType.CDROMXA
+ or MediaType.CDRW
+ or MediaType.CDV
+ or MediaType.DTSCD
+ or MediaType.JaguarCD
+ or MediaType.MEGACD
+ or MediaType.PS1CD
+ or MediaType.PS2CD
+ or MediaType.SuperCDROM2
+ or MediaType.SVCD
+ or MediaType.SATURNCD
+ or MediaType.ThreeDO
+ or MediaType.VCD
+ or MediaType.VCDHD
+ or MediaType.NeoGeoCD
+ or MediaType.PCFX
+ or MediaType.CDTV
+ or MediaType.CD32
+ or MediaType.Nuon
+ or MediaType.Playdia
+ or MediaType.Pippin
+ or MediaType.FMTOWNS
+ or MediaType.MilCD
+ or MediaType.VideoNow
+ or MediaType.VideoNowColor
+ or MediaType.VideoNowXp
+ or MediaType.CVD => false,
+ _ => true
+ };
_trackFlags = new Dictionary();
diff --git a/Aaru.Images/BlindWrite5/Helpers.cs b/Aaru.Images/BlindWrite5/Helpers.cs
index 3b69095d8..01fc45f54 100644
--- a/Aaru.Images/BlindWrite5/Helpers.cs
+++ b/Aaru.Images/BlindWrite5/Helpers.cs
@@ -49,73 +49,37 @@ public sealed partial class BlindWrite5
static MediaType BlindWriteProfileToMediaType(ProfileNumber profile)
{
- switch(profile)
- {
- case ProfileNumber.BDRE:
- return MediaType.BDRE;
- case ProfileNumber.BDROM:
- return MediaType.BDROM;
- case ProfileNumber.BDRRdm:
- case ProfileNumber.BDRSeq:
- return MediaType.BDR;
- case ProfileNumber.CDR:
- case ProfileNumber.HDBURNR:
- return MediaType.CDR;
- case ProfileNumber.CDROM:
- case ProfileNumber.HDBURNROM:
- return MediaType.CDROM;
- case ProfileNumber.CDRW:
- case ProfileNumber.HDBURNRW:
- return MediaType.CDRW;
- case ProfileNumber.DDCDR:
- return MediaType.DDCDR;
- case ProfileNumber.DDCDROM:
- return MediaType.DDCD;
- case ProfileNumber.DDCDRW:
- return MediaType.DDCDRW;
- case ProfileNumber.DVDDownload:
- return MediaType.DVDDownload;
- case ProfileNumber.DVDRAM:
- return MediaType.DVDRAM;
- case ProfileNumber.DVDRDLJump:
- case ProfileNumber.DVDRDLSeq:
- return MediaType.DVDRDL;
- case ProfileNumber.DVDRDLPlus:
- return MediaType.DVDPRDL;
- case ProfileNumber.DVDROM:
- return MediaType.DVDROM;
- case ProfileNumber.DVDRPlus:
- return MediaType.DVDPR;
- case ProfileNumber.DVDRSeq:
- return MediaType.DVDR;
- case ProfileNumber.DVDRWDL:
- return MediaType.DVDRWDL;
- case ProfileNumber.DVDRWDLPlus:
- return MediaType.DVDPRWDL;
- case ProfileNumber.DVDRWPlus:
- return MediaType.DVDPRW;
- case ProfileNumber.DVDRWRes:
- case ProfileNumber.DVDRWSeq:
- return MediaType.DVDRW;
- case ProfileNumber.HDDVDR:
- return MediaType.HDDVDR;
- case ProfileNumber.HDDVDRAM:
- return MediaType.HDDVDRAM;
- case ProfileNumber.HDDVDRDL:
- return MediaType.HDDVDRDL;
- case ProfileNumber.HDDVDROM:
- return MediaType.HDDVDROM;
- case ProfileNumber.HDDVDRW:
- return MediaType.HDDVDRW;
- case ProfileNumber.HDDVDRWDL:
- return MediaType.HDDVDRWDL;
- case ProfileNumber.ASMO:
- case ProfileNumber.MOErasable:
- return MediaType.UnknownMO;
- case ProfileNumber.NonRemovable:
- return MediaType.GENERIC_HDD;
- default:
- return MediaType.CD;
- }
+ return profile switch
+ {
+ ProfileNumber.BDRE => MediaType.BDRE,
+ ProfileNumber.BDROM => MediaType.BDROM,
+ ProfileNumber.BDRRdm or ProfileNumber.BDRSeq => MediaType.BDR,
+ ProfileNumber.CDR or ProfileNumber.HDBURNR => MediaType.CDR,
+ ProfileNumber.CDROM or ProfileNumber.HDBURNROM => MediaType.CDROM,
+ ProfileNumber.CDRW or ProfileNumber.HDBURNRW => MediaType.CDRW,
+ ProfileNumber.DDCDR => MediaType.DDCDR,
+ ProfileNumber.DDCDROM => MediaType.DDCD,
+ ProfileNumber.DDCDRW => MediaType.DDCDRW,
+ ProfileNumber.DVDDownload => MediaType.DVDDownload,
+ ProfileNumber.DVDRAM => MediaType.DVDRAM,
+ ProfileNumber.DVDRDLJump or ProfileNumber.DVDRDLSeq => MediaType.DVDRDL,
+ ProfileNumber.DVDRDLPlus => MediaType.DVDPRDL,
+ ProfileNumber.DVDROM => MediaType.DVDROM,
+ ProfileNumber.DVDRPlus => MediaType.DVDPR,
+ ProfileNumber.DVDRSeq => MediaType.DVDR,
+ ProfileNumber.DVDRWDL => MediaType.DVDRWDL,
+ ProfileNumber.DVDRWDLPlus => MediaType.DVDPRWDL,
+ ProfileNumber.DVDRWPlus => MediaType.DVDPRW,
+ ProfileNumber.DVDRWRes or ProfileNumber.DVDRWSeq => MediaType.DVDRW,
+ ProfileNumber.HDDVDR => MediaType.HDDVDR,
+ ProfileNumber.HDDVDRAM => MediaType.HDDVDRAM,
+ ProfileNumber.HDDVDRDL => MediaType.HDDVDRDL,
+ ProfileNumber.HDDVDROM => MediaType.HDDVDROM,
+ ProfileNumber.HDDVDRW => MediaType.HDDVDRW,
+ ProfileNumber.HDDVDRWDL => MediaType.HDDVDRWDL,
+ ProfileNumber.ASMO or ProfileNumber.MOErasable => MediaType.UnknownMO,
+ ProfileNumber.NonRemovable => MediaType.GENERIC_HDD,
+ _ => MediaType.CD
+ };
}
}
\ No newline at end of file
diff --git a/Aaru.Images/BlindWrite5/Read.cs b/Aaru.Images/BlindWrite5/Read.cs
index 11a7c917a..cd962c31f 100644
--- a/Aaru.Images/BlindWrite5/Read.cs
+++ b/Aaru.Images/BlindWrite5/Read.cs
@@ -212,25 +212,19 @@ public sealed partial class BlindWrite5
}
}
- switch(_header.profile)
- {
- case ProfileNumber.CDR:
- case ProfileNumber.CDROM:
- case ProfileNumber.CDRW:
- case ProfileNumber.DDCDR:
- case ProfileNumber.DDCDROM:
- case ProfileNumber.DDCDRW:
- case ProfileNumber.HDBURNROM:
- case ProfileNumber.HDBURNR:
- case ProfileNumber.HDBURNRW:
- _discInformation = new byte[_header.cdInfoLen];
-
- break;
- default:
- _discInformation = new byte[_header.dvdInfoLen];
-
- break;
- }
+ _discInformation = _header.profile switch
+ {
+ ProfileNumber.CDR
+ or ProfileNumber.CDROM
+ or ProfileNumber.CDRW
+ or ProfileNumber.DDCDR
+ or ProfileNumber.DDCDROM
+ or ProfileNumber.DDCDRW
+ or ProfileNumber.HDBURNROM
+ or ProfileNumber.HDBURNR
+ or ProfileNumber.HDBURNRW => new byte[_header.cdInfoLen],
+ _ => new byte[_header.dvdInfoLen]
+ };
if(_discInformation.Length > 0)
{
@@ -1277,15 +1271,13 @@ public sealed partial class BlindWrite5
// Any non first track is audio
audio |= bwTrack.Sequence != 1 && bwTrack.Type == CommonTypes.Enums.TrackType.Audio;
- switch(bwTrack.Type)
- {
- case CommonTypes.Enums.TrackType.CdMode2Formless:
- case CommonTypes.Enums.TrackType.CdMode2Form1:
- case CommonTypes.Enums.TrackType.CdMode2Form2:
- mode2 = true;
-
- break;
- }
+ mode2 = bwTrack.Type switch
+ {
+ CommonTypes.Enums.TrackType.CdMode2Formless
+ or CommonTypes.Enums.TrackType.CdMode2Form1
+ or CommonTypes.Enums.TrackType.CdMode2Form2 => true,
+ _ => mode2
+ };
}
if(!data && !firstData)
diff --git a/Aaru.Images/ByteAddressable/Nintendo64.cs b/Aaru.Images/ByteAddressable/Nintendo64.cs
index 9c3b33085..1bf3b3152 100644
--- a/Aaru.Images/ByteAddressable/Nintendo64.cs
+++ b/Aaru.Images/ByteAddressable/Nintendo64.cs
@@ -103,20 +103,18 @@ public class Nintendo64 : IByteAddressableImage
stream.EnsureRead(magicBytes, 0, 4);
var magic = BitConverter.ToUInt32(magicBytes, 0);
- switch(magic)
- {
- case 0x80371240:
- case 0x80371241:
- case 0x40123780:
- case 0x41123780:
- case 0x12408037:
- case 0x12418037:
- case 0x37804012:
- case 0x37804112:
- return true;
- default:
- return false;
- }
+ return magic switch
+ {
+ 0x80371240
+ or 0x80371241
+ or 0x40123780
+ or 0x41123780
+ or 0x12408037
+ or 0x12418037
+ or 0x37804012
+ or 0x37804112 => true,
+ _ => false
+ };
}
///
diff --git a/Aaru.Images/ByteAddressable/SuperNintendo.cs b/Aaru.Images/ByteAddressable/SuperNintendo.cs
index a2cee7d3a..4691dce57 100644
--- a/Aaru.Images/ByteAddressable/SuperNintendo.cs
+++ b/Aaru.Images/ByteAddressable/SuperNintendo.cs
@@ -696,67 +696,42 @@ public class SuperNintendo : IByteAddressableImage
static string DecodeChipset(byte chipset)
{
- switch(chipset & 0xF)
- {
- case 0:
- return Localization.ROM;
- case 1:
- return Localization.ROM_and_RAM;
- case 2 when (chipset & 0xF0) == 0:
- return Localization.ROM_RAM_and_battery;
- case 3:
- return Localization.ROM_and_coprocessor;
- case 4:
- return Localization.ROM_RAM_and_coprocessor;
- case 2:
- case 5:
- return Localization.ROM_RAM_battery_and_coprocessor;
- case 6:
- return Localization.ROM_battery_and_coprocessor;
- case 9:
- return Localization.ROM_RAM_battery_coprocessor_and_RTC;
- case 0xA:
- return Localization.ROM_RAM_battery_and_coprocessor;
- default:
- return Localization.Unknown_chipset;
- }
+ return (chipset & 0xF) switch
+ {
+ 0 => Localization.ROM,
+ 1 => Localization.ROM_and_RAM,
+ 2 when (chipset & 0xF0) == 0 => Localization.ROM_RAM_and_battery,
+ 3 => Localization.ROM_and_coprocessor,
+ 4 => Localization.ROM_RAM_and_coprocessor,
+ 2 or 5 => Localization.ROM_RAM_battery_and_coprocessor,
+ 6 => Localization.ROM_battery_and_coprocessor,
+ 9 => Localization.ROM_RAM_battery_coprocessor_and_RTC,
+ 0xA => Localization.ROM_RAM_battery_and_coprocessor,
+ _ => Localization.Unknown_chipset
+ };
}
static int DecodeBankSize(byte mode)
{
- switch(mode & 0xF)
- {
- case 0:
- case 2:
- case 3:
- return 32768;
- case 1:
- case 5:
- case 0xA:
- return 65536;
- default:
- return 0;
- }
+ return (mode & 0xF) switch
+ {
+ 0 or 2 or 3 => 32768,
+ 1 or 5 or 0xA => 65536,
+ _ => 0
+ };
}
static string DecodeRomSpeed(byte mode) => (mode & 0x10) == 0x10 ? "Fast (120ns)" : "Slow (200ns)";
static string DecodeCartType(byte mode)
{
- switch(mode & 0xF)
- {
- case 0:
- case 2:
- case 3:
- return "LoROM";
- case 1:
- case 0xA:
- return "HiROM";
- case 5:
- return "ExHiROM";
- default:
- return Localization.Unknown_licensee;
- }
+ return (mode & 0xF) switch
+ {
+ 0 or 2 or 3 => "LoROM",
+ 1 or 0xA => "HiROM",
+ 5 => "ExHiROM",
+ _ => Localization.Unknown_licensee
+ };
}
static string DecodeRegion(byte headerRegion) => headerRegion switch
diff --git a/Aaru.Images/CDRDAO/Helpers.cs b/Aaru.Images/CDRDAO/Helpers.cs
index 633724447..6808bda7c 100644
--- a/Aaru.Images/CDRDAO/Helpers.cs
+++ b/Aaru.Images/CDRDAO/Helpers.cs
@@ -39,45 +39,28 @@ public sealed partial class Cdrdao
{
static ushort CdrdaoTrackTypeToCookedBytesPerSector(string trackType)
{
- switch(trackType)
- {
- case CDRDAO_TRACK_TYPE_MODE1:
- case CDRDAO_TRACK_TYPE_MODE2_FORM1:
- case CDRDAO_TRACK_TYPE_MODE1_RAW:
- return 2048;
- case CDRDAO_TRACK_TYPE_MODE2_FORM2:
- return 2324;
- case CDRDAO_TRACK_TYPE_MODE2:
- case CDRDAO_TRACK_TYPE_MODE2_MIX:
- case CDRDAO_TRACK_TYPE_MODE2_RAW:
- return 2336;
- case CDRDAO_TRACK_TYPE_AUDIO:
- return 2352;
- default:
- return 0;
- }
+ return trackType switch
+ {
+ CDRDAO_TRACK_TYPE_MODE1 or CDRDAO_TRACK_TYPE_MODE2_FORM1 or CDRDAO_TRACK_TYPE_MODE1_RAW => 2048,
+ CDRDAO_TRACK_TYPE_MODE2_FORM2 => 2324,
+ CDRDAO_TRACK_TYPE_MODE2 or CDRDAO_TRACK_TYPE_MODE2_MIX or CDRDAO_TRACK_TYPE_MODE2_RAW => 2336,
+ CDRDAO_TRACK_TYPE_AUDIO => 2352,
+ _ => 0
+ };
}
static TrackType CdrdaoTrackTypeToTrackType(string trackType)
{
- switch(trackType)
- {
- case CDRDAO_TRACK_TYPE_MODE1:
- case CDRDAO_TRACK_TYPE_MODE1_RAW:
- return TrackType.CdMode1;
- case CDRDAO_TRACK_TYPE_MODE2_FORM1:
- return TrackType.CdMode2Form1;
- case CDRDAO_TRACK_TYPE_MODE2_FORM2:
- return TrackType.CdMode2Form2;
- case CDRDAO_TRACK_TYPE_MODE2:
- case CDRDAO_TRACK_TYPE_MODE2_MIX:
- case CDRDAO_TRACK_TYPE_MODE2_RAW:
- return TrackType.CdMode2Formless;
- case CDRDAO_TRACK_TYPE_AUDIO:
- return TrackType.Audio;
- default:
- return TrackType.Data;
- }
+ return trackType switch
+ {
+ CDRDAO_TRACK_TYPE_MODE1 or CDRDAO_TRACK_TYPE_MODE1_RAW => TrackType.CdMode1,
+ CDRDAO_TRACK_TYPE_MODE2_FORM1 => TrackType.CdMode2Form1,
+ CDRDAO_TRACK_TYPE_MODE2_FORM2 => TrackType.CdMode2Form2,
+ CDRDAO_TRACK_TYPE_MODE2 or CDRDAO_TRACK_TYPE_MODE2_MIX or CDRDAO_TRACK_TYPE_MODE2_RAW => TrackType
+ .CdMode2Formless,
+ CDRDAO_TRACK_TYPE_AUDIO => TrackType.Audio,
+ _ => TrackType.Data
+ };
}
static (byte minute, byte second, byte frame) LbaToMsf(ulong sector) =>
diff --git a/Aaru.Images/CDRDAO/Write.cs b/Aaru.Images/CDRDAO/Write.cs
index d2977b1bb..b0af115f6 100644
--- a/Aaru.Images/CDRDAO/Write.cs
+++ b/Aaru.Images/CDRDAO/Write.cs
@@ -573,25 +573,12 @@ public sealed partial class Cdrdao
_descriptorStream.WriteLine();
_descriptorStream.WriteLine("// Track {0}", track.Sequence);
- string subchannelType;
-
- switch(track.SubchannelType)
- {
- case TrackSubchannelType.Packed:
- case TrackSubchannelType.PackedInterleaved:
- subchannelType = " RW";
-
- break;
- case TrackSubchannelType.Raw:
- case TrackSubchannelType.RawInterleaved:
- subchannelType = " RW_RAW";
-
- break;
- default:
- subchannelType = "";
-
- break;
- }
+ string subchannelType = track.SubchannelType switch
+ {
+ TrackSubchannelType.Packed or TrackSubchannelType.PackedInterleaved => " RW",
+ TrackSubchannelType.Raw or TrackSubchannelType.RawInterleaved => " RW_RAW",
+ _ => ""
+ };
_descriptorStream.WriteLine("TRACK {0}{1}", GetTrackMode(track), subchannelType);
diff --git a/Aaru.Images/CDRWin/Helpers.cs b/Aaru.Images/CDRWin/Helpers.cs
index 20313e213..5c0cb1ac4 100644
--- a/Aaru.Images/CDRWin/Helpers.cs
+++ b/Aaru.Images/CDRWin/Helpers.cs
@@ -52,132 +52,76 @@ public sealed partial class CdrWin
static ushort CdrWinTrackTypeToBytesPerSector(string trackType)
{
- switch(trackType)
- {
- case CDRWIN_TRACK_TYPE_MODE1:
- case CDRWIN_TRACK_TYPE_MODE2_FORM1:
- return 2048;
- case CDRWIN_TRACK_TYPE_MODE2_FORM2:
- return 2324;
- case CDRWIN_TRACK_TYPE_MODE2_FORMLESS:
- case CDRWIN_TRACK_TYPE_CDI:
- return 2336;
- case CDRWIN_TRACK_TYPE_AUDIO:
- case CDRWIN_TRACK_TYPE_MODE1_RAW:
- case CDRWIN_TRACK_TYPE_MODE2_RAW:
- case CDRWIN_TRACK_TYPE_CDI_RAW:
- return 2352;
- case CDRWIN_TRACK_TYPE_CDG:
- return 2448;
- default:
- return 0;
- }
+ return trackType switch
+ {
+ CDRWIN_TRACK_TYPE_MODE1 or CDRWIN_TRACK_TYPE_MODE2_FORM1 => 2048,
+ CDRWIN_TRACK_TYPE_MODE2_FORM2 => 2324,
+ CDRWIN_TRACK_TYPE_MODE2_FORMLESS or CDRWIN_TRACK_TYPE_CDI => 2336,
+ CDRWIN_TRACK_TYPE_AUDIO
+ or CDRWIN_TRACK_TYPE_MODE1_RAW
+ or CDRWIN_TRACK_TYPE_MODE2_RAW
+ or CDRWIN_TRACK_TYPE_CDI_RAW => 2352,
+ CDRWIN_TRACK_TYPE_CDG => 2448,
+ _ => 0
+ };
}
static ushort CdrWinTrackTypeToCookedBytesPerSector(string trackType)
{
- switch(trackType)
- {
- case CDRWIN_TRACK_TYPE_MODE1:
- case CDRWIN_TRACK_TYPE_MODE2_FORM1:
- case CDRWIN_TRACK_TYPE_MODE1_RAW:
- return 2048;
- case CDRWIN_TRACK_TYPE_MODE2_FORM2:
- return 2324;
- case CDRWIN_TRACK_TYPE_MODE2_FORMLESS:
- case CDRWIN_TRACK_TYPE_CDI:
- case CDRWIN_TRACK_TYPE_MODE2_RAW:
- case CDRWIN_TRACK_TYPE_CDI_RAW:
- return 2336;
- case CDRWIN_TRACK_TYPE_CDG:
- case CDRWIN_TRACK_TYPE_AUDIO:
- return 2352;
- default:
- return 0;
- }
+ return trackType switch
+ {
+ CDRWIN_TRACK_TYPE_MODE1 or CDRWIN_TRACK_TYPE_MODE2_FORM1 or CDRWIN_TRACK_TYPE_MODE1_RAW => 2048,
+ CDRWIN_TRACK_TYPE_MODE2_FORM2 => 2324,
+ CDRWIN_TRACK_TYPE_MODE2_FORMLESS
+ or CDRWIN_TRACK_TYPE_CDI
+ or CDRWIN_TRACK_TYPE_MODE2_RAW
+ or CDRWIN_TRACK_TYPE_CDI_RAW => 2336,
+ CDRWIN_TRACK_TYPE_CDG or CDRWIN_TRACK_TYPE_AUDIO => 2352,
+ _ => 0
+ };
}
static TrackType CdrWinTrackTypeToTrackType(string trackType)
{
- switch(trackType)
- {
- case CDRWIN_TRACK_TYPE_MODE1:
- case CDRWIN_TRACK_TYPE_MODE1_RAW:
- return TrackType.CdMode1;
- case CDRWIN_TRACK_TYPE_MODE2_FORM1:
- return TrackType.CdMode2Form1;
- case CDRWIN_TRACK_TYPE_MODE2_FORM2:
- return TrackType.CdMode2Form2;
- case CDRWIN_TRACK_TYPE_CDI_RAW:
- case CDRWIN_TRACK_TYPE_CDI:
- case CDRWIN_TRACK_TYPE_MODE2_RAW:
- case CDRWIN_TRACK_TYPE_MODE2_FORMLESS:
- return TrackType.CdMode2Formless;
- case CDRWIN_TRACK_TYPE_AUDIO:
- case CDRWIN_TRACK_TYPE_CDG:
- return TrackType.Audio;
- default:
- return TrackType.Data;
- }
+ return trackType switch
+ {
+ CDRWIN_TRACK_TYPE_MODE1 or CDRWIN_TRACK_TYPE_MODE1_RAW => TrackType.CdMode1,
+ CDRWIN_TRACK_TYPE_MODE2_FORM1 => TrackType.CdMode2Form1,
+ CDRWIN_TRACK_TYPE_MODE2_FORM2 => TrackType.CdMode2Form2,
+ CDRWIN_TRACK_TYPE_CDI_RAW
+ or CDRWIN_TRACK_TYPE_CDI
+ or CDRWIN_TRACK_TYPE_MODE2_RAW
+ or CDRWIN_TRACK_TYPE_MODE2_FORMLESS => TrackType.CdMode2Formless,
+ CDRWIN_TRACK_TYPE_AUDIO or CDRWIN_TRACK_TYPE_CDG => TrackType.Audio,
+ _ => TrackType.Data
+ };
}
static MediaType CdrWinIsoBusterDiscTypeToMediaType(string discType)
{
- switch(discType)
- {
- case CDRWIN_DISK_TYPE_CD:
- return MediaType.CD;
- case CDRWIN_DISK_TYPE_CDRW:
- case CDRWIN_DISK_TYPE_CDMRW:
- case CDRWIN_DISK_TYPE_CDMRW2:
- return MediaType.CDRW;
- case CDRWIN_DISK_TYPE_DVD:
- return MediaType.DVDROM;
- case CDRWIN_DISK_TYPE_DVDPRW:
- case CDRWIN_DISK_TYPE_DVDPMRW:
- case CDRWIN_DISK_TYPE_DVDPMRW2:
- return MediaType.DVDPRW;
- case CDRWIN_DISK_TYPE_DVDPRWDL:
- case CDRWIN_DISK_TYPE_DVDPMRWDL:
- case CDRWIN_DISK_TYPE_DVDPMRWDL2:
- return MediaType.DVDPRWDL;
- case CDRWIN_DISK_TYPE_DVDPR:
- case CDRWIN_DISK_TYPE_DVDPVR:
- return MediaType.DVDPR;
- case CDRWIN_DISK_TYPE_DVDPRDL:
- return MediaType.DVDPRDL;
- case CDRWIN_DISK_TYPE_DVDRAM:
- return MediaType.DVDRAM;
- case CDRWIN_DISK_TYPE_DVDVR:
- case CDRWIN_DISK_TYPE_DVDR:
- return MediaType.DVDR;
- case CDRWIN_DISK_TYPE_DVDRDL:
- return MediaType.DVDRDL;
- case CDRWIN_DISK_TYPE_DVDRW:
- case CDRWIN_DISK_TYPE_DVDRWDL:
- case CDRWIN_DISK_TYPE_DVDRW2:
- return MediaType.DVDRW;
- case CDRWIN_DISK_TYPE_HDDVD:
- return MediaType.HDDVDROM;
- case CDRWIN_DISK_TYPE_HDDVDRAM:
- return MediaType.HDDVDRAM;
- case CDRWIN_DISK_TYPE_HDDVDR:
- case CDRWIN_DISK_TYPE_HDDVDRDL:
- return MediaType.HDDVDR;
- case CDRWIN_DISK_TYPE_HDDVDRW:
- case CDRWIN_DISK_TYPE_HDDVDRWDL:
- return MediaType.HDDVDRW;
- case CDRWIN_DISK_TYPE_BD:
- return MediaType.BDROM;
- case CDRWIN_DISK_TYPE_BDR:
- case CDRWIN_DISK_TYPE_BDRDL:
- return MediaType.BDR;
- case CDRWIN_DISK_TYPE_BDRE:
- case CDRWIN_DISK_TYPE_BDREDL:
- return MediaType.BDRE;
- default:
- return MediaType.Unknown;
- }
+ return discType switch
+ {
+ CDRWIN_DISK_TYPE_CD => MediaType.CD,
+ CDRWIN_DISK_TYPE_CDRW or CDRWIN_DISK_TYPE_CDMRW or CDRWIN_DISK_TYPE_CDMRW2 => MediaType.CDRW,
+ CDRWIN_DISK_TYPE_DVD => MediaType.DVDROM,
+ CDRWIN_DISK_TYPE_DVDPRW or CDRWIN_DISK_TYPE_DVDPMRW or CDRWIN_DISK_TYPE_DVDPMRW2 => MediaType.DVDPRW,
+ CDRWIN_DISK_TYPE_DVDPRWDL or CDRWIN_DISK_TYPE_DVDPMRWDL or CDRWIN_DISK_TYPE_DVDPMRWDL2 => MediaType
+ .DVDPRWDL,
+ CDRWIN_DISK_TYPE_DVDPR or CDRWIN_DISK_TYPE_DVDPVR => MediaType.DVDPR,
+ CDRWIN_DISK_TYPE_DVDPRDL => MediaType.DVDPRDL,
+ CDRWIN_DISK_TYPE_DVDRAM => MediaType.DVDRAM,
+ CDRWIN_DISK_TYPE_DVDVR or CDRWIN_DISK_TYPE_DVDR => MediaType.DVDR,
+ CDRWIN_DISK_TYPE_DVDRDL => MediaType.DVDRDL,
+ CDRWIN_DISK_TYPE_DVDRW or CDRWIN_DISK_TYPE_DVDRWDL or CDRWIN_DISK_TYPE_DVDRW2 => MediaType.DVDRW,
+ CDRWIN_DISK_TYPE_HDDVD => MediaType.HDDVDROM,
+ CDRWIN_DISK_TYPE_HDDVDRAM => MediaType.HDDVDRAM,
+ CDRWIN_DISK_TYPE_HDDVDR or CDRWIN_DISK_TYPE_HDDVDRDL => MediaType.HDDVDR,
+ CDRWIN_DISK_TYPE_HDDVDRW or CDRWIN_DISK_TYPE_HDDVDRWDL => MediaType.HDDVDRW,
+ CDRWIN_DISK_TYPE_BD => MediaType.BDROM,
+ CDRWIN_DISK_TYPE_BDR or CDRWIN_DISK_TYPE_BDRDL => MediaType.BDR,
+ CDRWIN_DISK_TYPE_BDRE or CDRWIN_DISK_TYPE_BDREDL => MediaType.BDRE,
+ _ => MediaType.Unknown
+ };
}
static (byte minute, byte second, byte frame) LbaToMsf(ulong sector) =>
@@ -210,98 +154,70 @@ public sealed partial class CdrWin
static string MediaTypeToCdrwinType(MediaType type)
{
- switch(type)
- {
- case MediaType.BDRXL:
- case MediaType.BDR:
- return CDRWIN_DISK_TYPE_BDR;
- case MediaType.BDREXL:
- case MediaType.BDRE:
- return CDRWIN_DISK_TYPE_BDRE;
- case MediaType.BDROM:
- case MediaType.UHDBD:
- case MediaType.CBHD:
- case MediaType.PS3BD:
- case MediaType.PS4BD:
- case MediaType.PS5BD:
- case MediaType.UDO:
- case MediaType.UDO2:
- case MediaType.UDO2_WORM:
- return CDRWIN_DISK_TYPE_BD;
- case MediaType.CDV:
- case MediaType.DDCD:
- case MediaType.DDCDR:
- case MediaType.DDCDRW:
- case MediaType.CDPLUS:
- case MediaType.CDR:
- case MediaType.CDROM:
- case MediaType.CDROMXA:
- case MediaType.CD:
- case MediaType.CDDA:
- case MediaType.CDEG:
- case MediaType.CDG:
- case MediaType.CDI:
- case MediaType.CDMIDI:
- case MediaType.DTSCD:
- case MediaType.JaguarCD:
- case MediaType.MEGACD:
- case MediaType.PS1CD:
- case MediaType.PS2CD:
- case MediaType.SuperCDROM2:
- case MediaType.SVCD:
- case MediaType.SVOD:
- case MediaType.SATURNCD:
- case MediaType.ThreeDO:
- case MediaType.VCD:
- case MediaType.VCDHD:
- case MediaType.MilCD:
- case MediaType.VideoNow:
- case MediaType.VideoNowColor:
- case MediaType.VideoNowXp:
- case MediaType.CVD:
- return CDRWIN_DISK_TYPE_CD;
- case MediaType.CDMRW:
- return CDRWIN_DISK_TYPE_CDMRW;
- case MediaType.CDRW:
- return CDRWIN_DISK_TYPE_CDRW;
- case MediaType.DVDPR:
- return CDRWIN_DISK_TYPE_DVDPR;
- case MediaType.DVDPRDL:
- return CDRWIN_DISK_TYPE_DVDPRDL;
- case MediaType.DVDPRW:
- return CDRWIN_DISK_TYPE_DVDPRW;
- case MediaType.DVDPRWDL:
- return CDRWIN_DISK_TYPE_DVDPRWDL;
- case MediaType.DVDR:
- return CDRWIN_DISK_TYPE_DVDR;
- case MediaType.DVDRAM:
- return CDRWIN_DISK_TYPE_DVDRAM;
- case MediaType.DVDRDL:
- return CDRWIN_DISK_TYPE_DVDRDL;
- case MediaType.DVDDownload:
- case MediaType.DVDROM:
- case MediaType.UMD:
- case MediaType.PS2DVD:
- case MediaType.PS3DVD:
- return CDRWIN_DISK_TYPE_DVD;
- case MediaType.DVDRW:
- return CDRWIN_DISK_TYPE_DVDRW;
- case MediaType.DVDRWDL:
- return CDRWIN_DISK_TYPE_DVDRWDL;
- case MediaType.HDDVDR:
- return CDRWIN_DISK_TYPE_HDDVDR;
- case MediaType.HDDVDRAM:
- return CDRWIN_DISK_TYPE_HDDVDRAM;
- case MediaType.HDDVDRDL:
- return CDRWIN_DISK_TYPE_HDDVDRDL;
- case MediaType.HDDVDROM:
- return CDRWIN_DISK_TYPE_HDDVD;
- case MediaType.HDDVDRW:
- return CDRWIN_DISK_TYPE_HDDVDRW;
- case MediaType.HDDVDRWDL:
- return CDRWIN_DISK_TYPE_HDDVDRWDL;
- default:
- return "";
- }
+ return type switch
+ {
+ MediaType.BDRXL or MediaType.BDR => CDRWIN_DISK_TYPE_BDR,
+ MediaType.BDREXL or MediaType.BDRE => CDRWIN_DISK_TYPE_BDRE,
+ MediaType.BDROM
+ or MediaType.UHDBD
+ or MediaType.CBHD
+ or MediaType.PS3BD
+ or MediaType.PS4BD
+ or MediaType.PS5BD
+ or MediaType.UDO
+ or MediaType.UDO2
+ or MediaType.UDO2_WORM => CDRWIN_DISK_TYPE_BD,
+ MediaType.CDV
+ or MediaType.DDCD
+ or MediaType.DDCDR
+ or MediaType.DDCDRW
+ or MediaType.CDPLUS
+ or MediaType.CDR
+ or MediaType.CDROM
+ or MediaType.CDROMXA
+ or MediaType.CD
+ or MediaType.CDDA
+ or MediaType.CDEG
+ or MediaType.CDG
+ or MediaType.CDI
+ or MediaType.CDMIDI
+ or MediaType.DTSCD
+ or MediaType.JaguarCD
+ or MediaType.MEGACD
+ or MediaType.PS1CD
+ or MediaType.PS2CD
+ or MediaType.SuperCDROM2
+ or MediaType.SVCD
+ or MediaType.SVOD
+ or MediaType.SATURNCD
+ or MediaType.ThreeDO
+ or MediaType.VCD
+ or MediaType.VCDHD
+ or MediaType.MilCD
+ or MediaType.VideoNow
+ or MediaType.VideoNowColor
+ or MediaType.VideoNowXp
+ or MediaType.CVD => CDRWIN_DISK_TYPE_CD,
+ MediaType.CDMRW => CDRWIN_DISK_TYPE_CDMRW,
+ MediaType.CDRW => CDRWIN_DISK_TYPE_CDRW,
+ MediaType.DVDPR => CDRWIN_DISK_TYPE_DVDPR,
+ MediaType.DVDPRDL => CDRWIN_DISK_TYPE_DVDPRDL,
+ MediaType.DVDPRW => CDRWIN_DISK_TYPE_DVDPRW,
+ MediaType.DVDPRWDL => CDRWIN_DISK_TYPE_DVDPRWDL,
+ MediaType.DVDR => CDRWIN_DISK_TYPE_DVDR,
+ MediaType.DVDRAM => CDRWIN_DISK_TYPE_DVDRAM,
+ MediaType.DVDRDL => CDRWIN_DISK_TYPE_DVDRDL,
+ MediaType.DVDDownload or MediaType.DVDROM or MediaType.UMD or MediaType.PS2DVD or MediaType.PS3DVD =>
+ CDRWIN_DISK_TYPE_DVD,
+ MediaType.DVDRW => CDRWIN_DISK_TYPE_DVDRW,
+ MediaType.DVDRWDL => CDRWIN_DISK_TYPE_DVDRWDL,
+ MediaType.HDDVDR => CDRWIN_DISK_TYPE_HDDVDR,
+ MediaType.HDDVDRAM => CDRWIN_DISK_TYPE_HDDVDRAM,
+ MediaType.HDDVDRDL => CDRWIN_DISK_TYPE_HDDVDRDL,
+ MediaType.HDDVDROM => CDRWIN_DISK_TYPE_HDDVD,
+ MediaType.HDDVDRW => CDRWIN_DISK_TYPE_HDDVDRW,
+ MediaType.HDDVDRWDL => CDRWIN_DISK_TYPE_HDDVDRWDL,
+ _ => ""
+ };
}
}
\ No newline at end of file
diff --git a/Aaru.Images/CisCopy/Read.cs b/Aaru.Images/CisCopy/Read.cs
index a822a4486..c2b4a48d2 100644
--- a/Aaru.Images/CisCopy/Read.cs
+++ b/Aaru.Images/CisCopy/Read.cs
@@ -86,30 +86,13 @@ public sealed partial class CisCopy
return ErrorNumber.NotImplemented;
}
- var trackSize = 0;
-
- switch(type)
- {
- case DiskType.MD1DD8:
- case DiskType.MD2DD8:
- trackSize = 8 * 512;
-
- break;
- case DiskType.MD1DD:
- case DiskType.MD2DD:
- case DiskType.MF2DD:
- trackSize = 9 * 512;
-
- break;
- case DiskType.MD2HD:
- trackSize = 15 * 512;
-
- break;
- case DiskType.MF2HD:
- trackSize = 18 * 512;
-
- break;
- }
+ int trackSize = type switch
+ {
+ DiskType.MD1DD8 or DiskType.MD2DD8 => 8 * 512,
+ DiskType.MD1DD or DiskType.MD2DD or DiskType.MF2DD => 9 * 512,
+ DiskType.MD2HD => 15 * 512,
+ DiskType.MF2HD => 18 * 512
+ };
var headStep = 1;
diff --git a/Aaru.Images/CisCopy/Write.cs b/Aaru.Images/CisCopy/Write.cs
index 376723249..9acb031d7 100644
--- a/Aaru.Images/CisCopy/Write.cs
+++ b/Aaru.Images/CisCopy/Write.cs
@@ -122,24 +122,11 @@ public sealed partial class CisCopy
_writingStream.WriteByte((byte)diskType);
- byte tracks = 0;
-
- switch(diskType)
- {
- case DiskType.MD1DD8:
- case DiskType.MD1DD:
- case DiskType.MD2DD8:
- case DiskType.MD2DD:
- tracks = 80;
-
- break;
- case DiskType.MF2DD:
- case DiskType.MD2HD:
- case DiskType.MF2HD:
- tracks = 160;
-
- break;
- }
+ byte tracks = diskType switch
+ {
+ DiskType.MD1DD8 or DiskType.MD1DD or DiskType.MD2DD8 or DiskType.MD2DD => 80,
+ DiskType.MF2DD or DiskType.MD2HD or DiskType.MF2HD => 160
+ };
var headStep = 1;
diff --git a/Aaru.Images/CloneCD/Read.cs b/Aaru.Images/CloneCD/Read.cs
index adf8396cf..29ce2aeba 100644
--- a/Aaru.Images/CloneCD/Read.cs
+++ b/Aaru.Images/CloneCD/Read.cs
@@ -865,15 +865,11 @@ public sealed partial class CloneCd
// Any non first track is audio
audio |= i != 0 && Tracks[i].Type == TrackType.Audio;
- switch(Tracks[i].Type)
- {
- case TrackType.CdMode2Form1:
- case TrackType.CdMode2Form2:
- case TrackType.CdMode2Formless:
- mode2 = true;
-
- break;
- }
+ mode2 = Tracks[i].Type switch
+ {
+ TrackType.CdMode2Form1 or TrackType.CdMode2Form2 or TrackType.CdMode2Formless => true,
+ _ => mode2
+ };
}
// TODO: Check format
diff --git a/Aaru.Images/DiscJuggler/Read.cs b/Aaru.Images/DiscJuggler/Read.cs
index 5dcd349a7..10cbb0438 100644
--- a/Aaru.Images/DiscJuggler/Read.cs
+++ b/Aaru.Images/DiscJuggler/Read.cs
@@ -722,15 +722,11 @@ public sealed partial class DiscJuggler
// Any non first track is audio
audio |= i != 0 && Tracks[i].Type == TrackType.Audio;
- switch(Tracks[i].Type)
- {
- case TrackType.CdMode2Form1:
- case TrackType.CdMode2Form2:
- case TrackType.CdMode2Formless:
- mode2 = true;
-
- break;
- }
+ mode2 = Tracks[i].Type switch
+ {
+ TrackType.CdMode2Form1 or TrackType.CdMode2Form2 or TrackType.CdMode2Formless => true,
+ _ => mode2
+ };
}
if(!data && !firstdata)
diff --git a/Aaru.Images/Nero/Helpers.cs b/Aaru.Images/Nero/Helpers.cs
index f31b7a1e1..beaa2e005 100644
--- a/Aaru.Images/Nero/Helpers.cs
+++ b/Aaru.Images/Nero/Helpers.cs
@@ -38,104 +38,58 @@ public sealed partial class Nero
{
static CommonTypes.MediaType NeroMediaTypeToMediaType(NeroMediaTypes type)
{
- switch(type)
- {
- case NeroMediaTypes.NeroMtypDdcd:
- return CommonTypes.MediaType.DDCD;
- case NeroMediaTypes.NeroMtypDvdM:
- case NeroMediaTypes.NeroMtypDvdMR:
- return CommonTypes.MediaType.DVDR;
- case NeroMediaTypes.NeroMtypDvdP:
- case NeroMediaTypes.NeroMtypDvdPR:
- return CommonTypes.MediaType.DVDPR;
- case NeroMediaTypes.NeroMtypDvdRam:
- return CommonTypes.MediaType.DVDRAM;
- case NeroMediaTypes.NeroMtypMl:
- case NeroMediaTypes.NeroMtypMrw:
- case NeroMediaTypes.NeroMtypCdrw:
- return CommonTypes.MediaType.CDRW;
- case NeroMediaTypes.NeroMtypCdr:
- return CommonTypes.MediaType.CDR;
- case NeroMediaTypes.NeroMtypDvdRom:
- case NeroMediaTypes.NeroMtypDvdAny:
- case NeroMediaTypes.NeroMtypDvdAnyR9:
- case NeroMediaTypes.NeroMtypDvdAnyOld:
- return CommonTypes.MediaType.DVDROM;
- case NeroMediaTypes.NeroMtypCdrom:
- return CommonTypes.MediaType.CDROM;
- case NeroMediaTypes.NeroMtypDvdMRw:
- return CommonTypes.MediaType.DVDRW;
- case NeroMediaTypes.NeroMtypDvdPRw:
- return CommonTypes.MediaType.DVDPRW;
- case NeroMediaTypes.NeroMtypDvdPR9:
- return CommonTypes.MediaType.DVDPRDL;
- case NeroMediaTypes.NeroMtypDvdMR9:
- return CommonTypes.MediaType.DVDRDL;
- case NeroMediaTypes.NeroMtypBd:
- case NeroMediaTypes.NeroMtypBdAny:
- case NeroMediaTypes.NeroMtypBdRom:
- return CommonTypes.MediaType.BDROM;
- case NeroMediaTypes.NeroMtypBdR:
- return CommonTypes.MediaType.BDR;
- case NeroMediaTypes.NeroMtypBdRe:
- return CommonTypes.MediaType.BDRE;
- case NeroMediaTypes.NeroMtypHdDvd:
- case NeroMediaTypes.NeroMtypHdDvdAny:
- case NeroMediaTypes.NeroMtypHdDvdRom:
- return CommonTypes.MediaType.HDDVDROM;
- case NeroMediaTypes.NeroMtypHdDvdR:
- return CommonTypes.MediaType.HDDVDR;
- case NeroMediaTypes.NeroMtypHdDvdRw:
- return CommonTypes.MediaType.HDDVDRW;
- default:
- return CommonTypes.MediaType.CD;
- }
+ return type switch
+ {
+ NeroMediaTypes.NeroMtypDdcd => CommonTypes.MediaType.DDCD,
+ NeroMediaTypes.NeroMtypDvdM or NeroMediaTypes.NeroMtypDvdMR => CommonTypes.MediaType.DVDR,
+ NeroMediaTypes.NeroMtypDvdP or NeroMediaTypes.NeroMtypDvdPR => CommonTypes.MediaType.DVDPR,
+ NeroMediaTypes.NeroMtypDvdRam => CommonTypes.MediaType.DVDRAM,
+ NeroMediaTypes.NeroMtypMl or NeroMediaTypes.NeroMtypMrw or NeroMediaTypes.NeroMtypCdrw => CommonTypes
+ .MediaType.CDRW,
+ NeroMediaTypes.NeroMtypCdr => CommonTypes.MediaType.CDR,
+ NeroMediaTypes.NeroMtypDvdRom
+ or NeroMediaTypes.NeroMtypDvdAny
+ or NeroMediaTypes.NeroMtypDvdAnyR9
+ or NeroMediaTypes.NeroMtypDvdAnyOld => CommonTypes.MediaType.DVDROM,
+ NeroMediaTypes.NeroMtypCdrom => CommonTypes.MediaType.CDROM,
+ NeroMediaTypes.NeroMtypDvdMRw => CommonTypes.MediaType.DVDRW,
+ NeroMediaTypes.NeroMtypDvdPRw => CommonTypes.MediaType.DVDPRW,
+ NeroMediaTypes.NeroMtypDvdPR9 => CommonTypes.MediaType.DVDPRDL,
+ NeroMediaTypes.NeroMtypDvdMR9 => CommonTypes.MediaType.DVDRDL,
+ NeroMediaTypes.NeroMtypBd or NeroMediaTypes.NeroMtypBdAny or NeroMediaTypes.NeroMtypBdRom =>
+ CommonTypes.MediaType.BDROM,
+ NeroMediaTypes.NeroMtypBdR => CommonTypes.MediaType.BDR,
+ NeroMediaTypes.NeroMtypBdRe => CommonTypes.MediaType.BDRE,
+ NeroMediaTypes.NeroMtypHdDvd or NeroMediaTypes.NeroMtypHdDvdAny or NeroMediaTypes.NeroMtypHdDvdRom =>
+ CommonTypes.MediaType.HDDVDROM,
+ NeroMediaTypes.NeroMtypHdDvdR => CommonTypes.MediaType.HDDVDR,
+ NeroMediaTypes.NeroMtypHdDvdRw => CommonTypes.MediaType.HDDVDRW,
+ _ => CommonTypes.MediaType.CD
+ };
}
static TrackType NeroTrackModeToTrackType(DaoMode mode)
{
- switch(mode)
- {
- case DaoMode.Data:
- case DaoMode.DataRaw:
- case DaoMode.DataRawSub:
- return TrackType.CdMode1;
- case DaoMode.DataM2F1:
- return TrackType.CdMode2Form1;
- case DaoMode.DataM2F2:
- return TrackType.CdMode2Form2;
- case DaoMode.DataM2RawSub:
- case DaoMode.DataM2Raw:
- return TrackType.CdMode2Formless;
- case DaoMode.Audio:
- case DaoMode.AudioAlt:
- case DaoMode.AudioSub:
- return TrackType.Audio;
- default:
- return TrackType.Data;
- }
+ return mode switch
+ {
+ DaoMode.Data or DaoMode.DataRaw or DaoMode.DataRawSub => TrackType.CdMode1,
+ DaoMode.DataM2F1 => TrackType.CdMode2Form1,
+ DaoMode.DataM2F2 => TrackType.CdMode2Form2,
+ DaoMode.DataM2RawSub or DaoMode.DataM2Raw => TrackType.CdMode2Formless,
+ DaoMode.Audio or DaoMode.AudioAlt or DaoMode.AudioSub => TrackType.Audio,
+ _ => TrackType.Data
+ };
}
static ushort NeroTrackModeToBytesPerSector(DaoMode mode)
{
- switch(mode)
- {
- case DaoMode.Data:
- case DaoMode.DataM2F1:
- return 2048;
- case DaoMode.DataM2F2:
- return 2336;
- case DaoMode.DataRaw:
- case DaoMode.DataM2Raw:
- case DaoMode.AudioAlt:
- case DaoMode.Audio:
- return 2352;
- case DaoMode.DataM2RawSub:
- case DaoMode.DataRawSub:
- case DaoMode.AudioSub:
- return 2448;
- default:
- return 2352;
- }
+ return mode switch
+ {
+ DaoMode.Data or DaoMode.DataM2F1 => 2048,
+ DaoMode.DataM2F2 => 2336,
+ DaoMode.DataRaw or DaoMode.DataM2Raw or DaoMode.AudioAlt or DaoMode.Audio => 2352,
+ DaoMode.DataM2RawSub or DaoMode.DataRawSub or DaoMode.AudioSub => 2448,
+ _ => 2352
+ };
}
}
\ No newline at end of file
diff --git a/Aaru.Images/Nero/Read.cs b/Aaru.Images/Nero/Read.cs
index a66ab7f20..cd7ee0b24 100644
--- a/Aaru.Images/Nero/Read.cs
+++ b/Aaru.Images/Nero/Read.cs
@@ -1179,21 +1179,16 @@ public sealed partial class Nero
// Flags not set for this track
if(!_trackFlags.ContainsKey(track.Sequence))
{
- switch(track.Type)
- {
- case TrackType.Audio:
- _trackFlags[track.Sequence] = 0;
-
- break;
- case TrackType.Data:
- case TrackType.CdMode1:
- case TrackType.CdMode2Formless:
- case TrackType.CdMode2Form1:
- case TrackType.CdMode2Form2:
- _trackFlags[track.Sequence] = 4;
-
- break;
- }
+ _trackFlags[track.Sequence] = track.Type switch
+ {
+ TrackType.Audio => 0,
+ TrackType.Data
+ or TrackType.CdMode1
+ or TrackType.CdMode2Formless
+ or TrackType.CdMode2Form1
+ or TrackType.CdMode2Form2 => 4,
+ _ => _trackFlags[track.Sequence]
+ };
}
// If ISRC is not empty
@@ -1586,16 +1581,14 @@ public sealed partial class Nero
(DaoMode)_neroTracks.ElementAt(i).Value.Mode == DaoMode.AudioAlt ||
(DaoMode)_neroTracks.ElementAt(i).Value.Mode == DaoMode.AudioSub);
- switch((DaoMode)_neroTracks.ElementAt(i).Value.Mode)
- {
- case DaoMode.DataM2F1:
- case DaoMode.DataM2F2:
- case DaoMode.DataM2Raw:
- case DaoMode.DataM2RawSub:
- mode2 = true;
-
- break;
- }
+ mode2 = (DaoMode)_neroTracks.ElementAt(i).Value.Mode switch
+ {
+ DaoMode.DataM2F1
+ or DaoMode.DataM2F2
+ or DaoMode.DataM2Raw
+ or DaoMode.DataM2RawSub => true,
+ _ => mode2
+ };
}
if(!data && !firstData)
diff --git a/Aaru.Images/VDI/Read.cs b/Aaru.Images/VDI/Read.cs
index 8c80c5960..7b981e9ec 100644
--- a/Aaru.Images/VDI/Read.cs
+++ b/Aaru.Images/VDI/Read.cs
@@ -123,38 +123,17 @@ public sealed partial class Vdi
_imageInfo.Comments = _vHdr.comments;
_imageInfo.Version = $"{_vHdr.majorVersion}.{_vHdr.minorVersion}";
- switch(_vHdr.creator)
- {
- case SUN_VDI:
- _imageInfo.Application = "Sun VirtualBox";
-
- break;
- case SUN_OLD_VDI:
- _imageInfo.Application = "Sun xVM";
-
- break;
- case ORACLE_VDI:
- _imageInfo.Application = "Oracle VirtualBox";
-
- break;
- case QEMUVDI:
- _imageInfo.Application = "QEMU";
-
- break;
- case INNOTEK_VDI:
- case INNOTEK_OLD_VDI:
- _imageInfo.Application = "innotek VirtualBox";
-
- break;
- case DIC_VDI:
- _imageInfo.Application = "DiscImageChef";
-
- break;
- case DIC_AARU:
- _imageInfo.Application = "Aaru";
-
- break;
- }
+ _imageInfo.Application = _vHdr.creator switch
+ {
+ SUN_VDI => "Sun VirtualBox",
+ SUN_OLD_VDI => "Sun xVM",
+ ORACLE_VDI => "Oracle VirtualBox",
+ QEMUVDI => "QEMU",
+ INNOTEK_VDI or INNOTEK_OLD_VDI => "innotek VirtualBox",
+ DIC_VDI => "DiscImageChef",
+ DIC_AARU => "Aaru",
+ _ => _imageInfo.Application
+ };
_imageStream = stream;
diff --git a/Aaru.Images/VHD/Read.cs b/Aaru.Images/VHD/Read.cs
index d12e42add..e156ab6fc 100644
--- a/Aaru.Images/VHD/Read.cs
+++ b/Aaru.Images/VHD/Read.cs
@@ -213,27 +213,19 @@ public sealed partial class Vhd
_imageInfo.ApplicationVersion = $"{(_thisFooter.CreatorVersion & 0xFFFF0000) >> 16}.{
_thisFooter.CreatorVersion & 0x0000FFFF:D2}";
- switch(_thisFooter.CreatorHostOs)
- {
- case CREATOR_MACINTOSH:
- case CREATOR_MACINTOSH_OLD:
- _imageInfo.Application = "VirtualBox for Mac";
+ _imageInfo.Application = _thisFooter.CreatorHostOs switch
+ {
+ CREATOR_MACINTOSH or CREATOR_MACINTOSH_OLD => "VirtualBox for Mac",
+ CREATOR_WINDOWS =>
- break;
- case CREATOR_WINDOWS:
- // VirtualBox uses Windows creator for any other OS
- _imageInfo.Application = "VirtualBox";
-
- break;
- default:
- _imageInfo.Application = string.Format(Localization.VirtualBox_for_unknown_OS_0,
- Encoding.ASCII
- .GetString(BigEndianBitConverter
- .GetBytes(_thisFooter
- .CreatorHostOs)));
-
- break;
- }
+ // VirtualBox uses Windows creator for any other OS
+ "VirtualBox",
+ _ => string.Format(Localization.VirtualBox_for_unknown_OS_0,
+ Encoding.ASCII
+ .GetString(BigEndianBitConverter
+ .GetBytes(_thisFooter
+ .CreatorHostOs)))
+ };
break;
}
diff --git a/Aaru.Partitions/Atari.cs b/Aaru.Partitions/Atari.cs
index 1e016eae1..49d653655 100644
--- a/Aaru.Partitions/Atari.cs
+++ b/Aaru.Partitions/Atari.cs
@@ -220,54 +220,21 @@ public sealed class AtariPartitions : IPartition
Scheme = Name
};
- switch(type)
- {
- case TYPE_GEMDOS:
- part.Description = Localization.Atari_GEMDOS_partition;
-
- break;
- case TYPE_BIG_GEMDOS:
- part.Description = Localization.Atari_GEMDOS_partition_bigger_than_32_MiB;
-
- break;
- case TYPE_LINUX:
- part.Description = Localization.Linux_partition;
-
- break;
- case TYPE_SWAP:
- part.Description = Localization.Swap_partition;
-
- break;
- case TYPE_RAW:
- part.Description = Localization.RAW_partition;
-
- break;
- case TYPE_NETBSD:
- part.Description = Localization.NetBSD_partition;
-
- break;
- case TYPE_NETBSD_SWAP:
- part.Description = Localization.NetBSD_swap_partition;
-
- break;
- case TYPE_SYSTEM_V:
- part.Description = Localization.Atari_UNIX_partition;
-
- break;
- case TYPE_MAC:
- part.Description = Localization.Macintosh_partition;
-
- break;
- case TYPE_MINIX:
- case TYPE_MINIX2:
- part.Description = Localization.MINIX_partition;
-
- break;
- default:
- part.Description = Localization.Unknown_partition_type;
-
- break;
- }
+ part.Description = type switch
+ {
+ TYPE_GEMDOS => Localization.Atari_GEMDOS_partition,
+ TYPE_BIG_GEMDOS => Localization
+ .Atari_GEMDOS_partition_bigger_than_32_MiB,
+ TYPE_LINUX => Localization.Linux_partition,
+ TYPE_SWAP => Localization.Swap_partition,
+ TYPE_RAW => Localization.RAW_partition,
+ TYPE_NETBSD => Localization.NetBSD_partition,
+ TYPE_NETBSD_SWAP => Localization.NetBSD_swap_partition,
+ TYPE_SYSTEM_V => Localization.Atari_UNIX_partition,
+ TYPE_MAC => Localization.Macintosh_partition,
+ TYPE_MINIX or TYPE_MINIX2 => Localization.MINIX_partition,
+ _ => Localization.Unknown_partition_type
+ };
partitions.Add(part);
partitionSequence++;
@@ -344,54 +311,21 @@ public sealed class AtariPartitions : IPartition
Scheme = Name
};
- switch(extendedType)
- {
- case TYPE_GEMDOS:
- part.Description = Localization.Atari_GEMDOS_partition;
-
- break;
- case TYPE_BIG_GEMDOS:
- part.Description = Localization.Atari_GEMDOS_partition_bigger_than_32_MiB;
-
- break;
- case TYPE_LINUX:
- part.Description = Localization.Linux_partition;
-
- break;
- case TYPE_SWAP:
- part.Description = Localization.Swap_partition;
-
- break;
- case TYPE_RAW:
- part.Description = Localization.RAW_partition;
-
- break;
- case TYPE_NETBSD:
- part.Description = Localization.NetBSD_partition;
-
- break;
- case TYPE_NETBSD_SWAP:
- part.Description = Localization.NetBSD_swap_partition;
-
- break;
- case TYPE_SYSTEM_V:
- part.Description = Localization.Atari_UNIX_partition;
-
- break;
- case TYPE_MAC:
- part.Description = Localization.Macintosh_partition;
-
- break;
- case TYPE_MINIX:
- case TYPE_MINIX2:
- part.Description = Localization.MINIX_partition;
-
- break;
- default:
- part.Description = Localization.Unknown_partition_type;
-
- break;
- }
+ part.Description = extendedType switch
+ {
+ TYPE_GEMDOS => Localization.Atari_GEMDOS_partition,
+ TYPE_BIG_GEMDOS => Localization
+ .Atari_GEMDOS_partition_bigger_than_32_MiB,
+ TYPE_LINUX => Localization.Linux_partition,
+ TYPE_SWAP => Localization.Swap_partition,
+ TYPE_RAW => Localization.RAW_partition,
+ TYPE_NETBSD => Localization.NetBSD_partition,
+ TYPE_NETBSD_SWAP => Localization.NetBSD_swap_partition,
+ TYPE_SYSTEM_V => Localization.Atari_UNIX_partition,
+ TYPE_MAC => Localization.Macintosh_partition,
+ TYPE_MINIX or TYPE_MINIX2 => Localization.MINIX_partition,
+ _ => Localization.Unknown_partition_type
+ };
partitions.Add(part);
partitionSequence++;
@@ -446,54 +380,20 @@ public sealed class AtariPartitions : IPartition
Scheme = Name
};
- switch(type)
- {
- case TYPE_GEMDOS:
- part.Description = Localization.Atari_GEMDOS_partition;
-
- break;
- case TYPE_BIG_GEMDOS:
- part.Description = Localization.Atari_GEMDOS_partition_bigger_than_32_MiB;
-
- break;
- case TYPE_LINUX:
- part.Description = Localization.Linux_partition;
-
- break;
- case TYPE_SWAP:
- part.Description = Localization.Swap_partition;
-
- break;
- case TYPE_RAW:
- part.Description = Localization.RAW_partition;
-
- break;
- case TYPE_NETBSD:
- part.Description = Localization.NetBSD_partition;
-
- break;
- case TYPE_NETBSD_SWAP:
- part.Description = Localization.NetBSD_swap_partition;
-
- break;
- case TYPE_SYSTEM_V:
- part.Description = Localization.Atari_UNIX_partition;
-
- break;
- case TYPE_MAC:
- part.Description = Localization.Macintosh_partition;
-
- break;
- case TYPE_MINIX:
- case TYPE_MINIX2:
- part.Description = Localization.MINIX_partition;
-
- break;
- default:
- part.Description = Localization.Unknown_partition_type;
-
- break;
- }
+ part.Description = type switch
+ {
+ TYPE_GEMDOS => Localization.Atari_GEMDOS_partition,
+ TYPE_BIG_GEMDOS => Localization.Atari_GEMDOS_partition_bigger_than_32_MiB,
+ TYPE_LINUX => Localization.Linux_partition,
+ TYPE_SWAP => Localization.Swap_partition,
+ TYPE_RAW => Localization.RAW_partition,
+ TYPE_NETBSD => Localization.NetBSD_partition,
+ TYPE_NETBSD_SWAP => Localization.NetBSD_swap_partition,
+ TYPE_SYSTEM_V => Localization.Atari_UNIX_partition,
+ TYPE_MAC => Localization.Macintosh_partition,
+ TYPE_MINIX or TYPE_MINIX2 => Localization.MINIX_partition,
+ _ => Localization.Unknown_partition_type
+ };
partitions.Add(part);
partitionSequence++;
diff --git a/Aaru.Partitions/BSD.cs b/Aaru.Partitions/BSD.cs
index ec23c1941..dd3bab697 100644
--- a/Aaru.Partitions/BSD.cs
+++ b/Aaru.Partitions/BSD.cs
@@ -207,68 +207,38 @@ public sealed class BSD : IPartition
internal static string FSTypeToString(fsType typ)
{
- switch(typ)
- {
- case fsType.Unused:
- return Localization.Unused_entry;
- case fsType.Swap:
- return Localization.Swap_partition;
- case fsType.V6:
- return Localization.UNIX_6th_Edition;
- case fsType.V7:
- return Localization.UNIX_7th_Edition;
- case fsType.SystemV:
- return Localization.UNIX_System_V;
- case fsType.V7_1K:
- return Localization.UNIX_7th_Edition_with_1K_blocks;
- case fsType.V8:
- return Localization.UNIX_8th_Edition_with_4K_blocks;
- case fsType.BSDFFS:
- return Localization._4_2_BSD_Fast_File_System;
- case fsType.BSDLFS:
- return Localization._4_4_LFS;
- case fsType.HPFS:
- return Localization.HPFS;
- case fsType.ISO9660:
- return Localization.ISO9660;
- case fsType.Boot:
- case fsType.SysVBoot:
- return Localization.Boot;
- case fsType.AFFS:
- return Localization.Amiga_FFS;
- case fsType.HFS:
- return Localization.Apple_HFS;
- case fsType.ADVfs:
- return Localization.Digital_Advanced_File_System;
- case fsType.LSMpublic:
- return Localization.Digital_LSM_Public_Region;
- case fsType.LSMprivate:
- return Localization.Digital_LSM_Private_Region;
- case fsType.LSMsimple:
- return Localization.Digital_LSM_Simple_Disk;
- case fsType.CCD:
- return Localization.Concatenated_disk;
- case fsType.JFS2:
- return Localization.IBM_JFS2;
- case fsType.HAMMER:
- return Localization.Hammer;
- case fsType.HAMMER2:
- return Localization.Hammer2;
- case fsType.UDF:
- return Localization.UDF;
- case fsType.EFS:
- return Localization.EFS;
- case fsType.ZFS:
- return Localization.ZFS;
- case fsType.NANDFS:
- return Localization.FreeBSD_nandfs;
- case fsType.MSDOS:
- return Localization.FAT;
- case fsType.Other:
- return Localization.Other_or_unknown;
- default:
- return Localization.Unknown_partition_type;
- }
+ return typ switch
+ {
+ fsType.Unused => Localization.Unused_entry,
+ fsType.Swap => Localization.Swap_partition,
+ fsType.V6 => Localization.UNIX_6th_Edition,
+ fsType.V7 => Localization.UNIX_7th_Edition,
+ fsType.SystemV => Localization.UNIX_System_V,
+ fsType.V7_1K => Localization.UNIX_7th_Edition_with_1K_blocks,
+ fsType.V8 => Localization.UNIX_8th_Edition_with_4K_blocks,
+ fsType.BSDFFS => Localization._4_2_BSD_Fast_File_System,
+ fsType.BSDLFS => Localization._4_4_LFS,
+ fsType.HPFS => Localization.HPFS,
+ fsType.ISO9660 => Localization.ISO9660,
+ fsType.Boot or fsType.SysVBoot => Localization.Boot,
+ fsType.AFFS => Localization.Amiga_FFS,
+ fsType.HFS => Localization.Apple_HFS,
+ fsType.ADVfs => Localization.Digital_Advanced_File_System,
+ fsType.LSMpublic => Localization.Digital_LSM_Public_Region,
+ fsType.LSMprivate => Localization.Digital_LSM_Private_Region,
+ fsType.LSMsimple => Localization.Digital_LSM_Simple_Disk,
+ fsType.CCD => Localization.Concatenated_disk,
+ fsType.JFS2 => Localization.IBM_JFS2,
+ fsType.HAMMER => Localization.Hammer,
+ fsType.HAMMER2 => Localization.Hammer2,
+ fsType.UDF => Localization.UDF,
+ fsType.EFS => Localization.EFS,
+ fsType.ZFS => Localization.ZFS,
+ fsType.NANDFS => Localization.FreeBSD_nandfs,
+ fsType.MSDOS => Localization.FAT,
+ fsType.Other => Localization.Other_or_unknown,
+ _ => Localization.Unknown_partition_type
+ };
}
static DiskLabel SwapDiskLabel(DiskLabel dl)
diff --git a/Aaru.Partitions/GPT.cs b/Aaru.Partitions/GPT.cs
index 7e18b3f1b..1f0260254 100644
--- a/Aaru.Partitions/GPT.cs
+++ b/Aaru.Partitions/GPT.cs
@@ -220,205 +220,109 @@ public sealed class GuidPartitionTable : IPartition
{
string strType = type.ToString().ToUpperInvariant();
- switch(strType)
- {
- case "024DEE41-33E7-11D3-9D69-0008C781F39F":
- return Localization.MBR_scheme;
- case "C12A7328-F81F-11D2-BA4B-00A0C93EC93B":
- return Localization.EFI_System;
- case "21686148-6449-6E6F-744E-656564454649":
- return Localization.BIOS_Boot;
- case "D3BFE2DE-3DAF-11DF-BA40-E3A556D89593":
- return Localization.Intel_Fast_Flash_iFFS;
- case "F4019732-066E-4E12-8273-346C5641494F":
- return Localization.Sony_boot;
- case "BFBFAFE7-A34F-448A-9A5B-6213EB736C22":
- return Localization.Lenovo_boot;
- case "E3C9E316-0B5C-4DB8-817D-F92DF00215AE":
- return Localization.Microsoft_Reserved_MSR;
- case "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7":
- return Localization.Microsoft_Basic_data;
- case "5808C8AA-7E8F-42E0-85D2-E1E90434CFB3":
- return Localization.Logical_Disk_Manager_LDM_metadata;
- case "AF9B60A0-1431-4F62-BC68-3311714A69AD":
- return Localization.Logical_Disk_Manager_data;
- case "DE94BBA4-06D1-4D40-A16A-BFD50179D6AC":
- return Localization.Windows_Recovery_Environment;
- case "37AFFC90-EF7D-4E96-91C3-2D7AE055B174":
- return Localization.IBM_General_Parallel_File_System_GPFS;
- case "E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D":
- return Localization.Windows_Storage_Spaces;
- case "75894C1E-3AEB-11D3-B7C1-7B03A0000000":
- return Localization.HP_UX_Data;
- case "E2A1E728-32E3-11D6-A682-7B03A0000000":
- return Localization.HP_UX_Service;
- case "0FC63DAF-8483-4772-8E79-3D69D8477DE4":
- return Localization.Linux_filesystem;
- case "A19D880F-05FC-4D3B-A006-743F0F84911E":
- return Localization.Linux_RAID;
- case "44479540-F297-41B2-9AF7-D131D5F0458A":
- return Localization.Linux_Root_x86;
- case "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709":
- return Localization.Linux_Root_x86_64;
- case "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3":
- return Localization.Linux_Root_32_bit_ARM;
- case "B921B045-1DF0-41C3-AF44-4C6F280D3FAE":
- return Localization.Linux_Root_AArch64;
- case "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F":
- return Localization.Linux_swap;
- case "E6D6D379-F507-44C2-A23C-238F2A3DF928":
- return Localization.Logical_Volume_Manager_LVM;
- case "933AC7E1-2EB4-4F13-B844-0E14E2AEF915":
- return Localization.Linux_home;
- case "3B8F8425-20E0-4F3B-907F-1A25A76F98E8":
- return Localization.Linux_srv;
- case "7FFEC5C9-2D00-49B7-8941-3EA10A5586B7":
- return Localization.Plain_dm_crypt;
- case "CA7D7CCB-63ED-4C53-861C-1742536059CC":
- return Localization.LUKS;
- case "8DA63339-0007-60C0-C436-083AC8230908":
- return Localization.Linux_Reserved;
- case "83BD6B9D-7F41-11DC-BE0B-001560B84F0F":
- return Localization.FreeBSD_Boot;
- case "516E7CB4-6ECF-11D6-8FF8-00022D09712B":
- return Localization.FreeBSD_Data;
- case "516E7CB5-6ECF-11D6-8FF8-00022D09712B":
- return Localization.FreeBSD_swap;
- case "516E7CB6-6ECF-11D6-8FF8-00022D09712B":
- return Localization.FreeBSD_UFS;
- case "516E7CB7-6ECF-11D6-8FF8-00022D09712B":
- return Localization.FreeBSD_UFS2;
- case "516E7CB8-6ECF-11D6-8FF8-00022D09712B":
- return Localization.FreeBSD_Vinum;
- case "516E7CBA-6ECF-11D6-8FF8-00022D09712B":
- return Localization.FreeBSD_ZFS;
- case "74BA7DD9-A689-11E1-BD04-00E081286ACF":
- return Localization.FreeBSD_nandfs;
- case "48465300-0000-11AA-AA11-00306543ECAC":
- return Localization.Apple_HFS;
- case "55465300-0000-11AA-AA11-00306543ECAC":
- return Localization.Apple_UFS;
- case "52414944-0000-11AA-AA11-00306543ECAC":
- return Localization.Apple_RAID;
- case "52414944-5F4F-11AA-AA11-00306543ECAC":
- return Localization.Apple_RAID_offline;
- case "426F6F74-0000-11AA-AA11-00306543ECAC":
- return Localization.Apple_Boot;
- case "4C616265-6C00-11AA-AA11-00306543ECAC":
- return Localization.Apple_Label;
- case "5265636F-7665-11AA-AA11-00306543ECAC":
- return Localization.Apple_TV_Recovery;
- case "53746F72-6167-11AA-AA11-00306543ECAC":
- return Localization.Apple_Core_Storage;
- case "6A82CB45-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_boot;
- case "6A85CF4D-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_Root;
- case "6A87C46F-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_Swap;
- case "6A8B642B-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_Backup;
- case "6A898CC3-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_usr_or_Apple_ZFS;
- case "6A8EF2E9-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_var;
- case "6A90BA39-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_home;
- case "6A9283A5-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_Alternate_sector;
- case "6A945A3B-1DD2-11B2-99A6-080020736631":
- case "6A9630D1-1DD2-11B2-99A6-080020736631":
- case "6A980767-1DD2-11B2-99A6-080020736631":
- case "6A96237F-1DD2-11B2-99A6-080020736631":
- case "6A8D2AC7-1DD2-11B2-99A6-080020736631":
- return Localization.Solaris_Reserved;
- case "49F48D32-B10E-11DC-B99B-0019D1879648":
- return Localization.NetBSD_Swap;
- case "49F48D5A-B10E-11DC-B99B-0019D1879648":
- return Localization.NetBSD_FFS;
- case "49F48D82-B10E-11DC-B99B-0019D1879648":
- return Localization.NetBSD_LFS;
- case "49F48DAA-B10E-11DC-B99B-0019D1879648":
- return Localization.NetBSD_RAID;
- case "2DB519C4-B10F-11DC-B99B-0019D1879648":
- return Localization.NetBSD_Concatenated;
- case "2DB519EC-B10F-11DC-B99B-0019D1879648":
- return Localization.NetBSD_Encrypted;
- case "FE3A2A5D-4F32-41A7-B725-ACCC3285A309":
- return Localization.ChromeOS_kernel;
- case "3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC":
- return Localization.ChromeOS_rootfs;
- case "2E0A753D-9E48-43B0-8337-B15192CB1B5E":
- return Localization.ChromeOS_future_use;
- case "42465331-3BA3-10F1-802A-4861696B7521":
- return Localization.Haiku_BFS;
- case "85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7":
- return Localization.MidnightBSD_Boot;
- case "85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7":
- return Localization.MidnightBSD_Data;
- case "85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7":
- return Localization.MidnightBSD_Swap;
- case "0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7":
- return Localization.MidnightBSD_UFS;
- case "85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7":
- return Localization.MidnightBSD_Vinum;
- case "85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7":
- return Localization.MidnightBSD_ZFS;
- case "45B0969E-9B03-4F30-B4C6-B4B80CEFF106":
- return Localization.Ceph_Journal;
- case "45B0969E-9B03-4F30-B4C6-5EC00CEFF106":
- return Localization.Ceph_dm_crypt_Encrypted_Journal;
- case "4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D":
- return Localization.Ceph_OSD;
- case "4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D":
- return Localization.Ceph_dm_crypt_OSD;
- case "89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE":
- return Localization.Ceph_disk_in_creation;
- case "89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE":
- return Localization.Ceph_dm_crypt_disk_in_creation;
- case "824CC7A0-36A8-11E3-890A-952519AD3F61":
- return Localization.OpenBSD_Data;
- case "CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1":
- return Localization.QNX_Power_safe_QNX6;
- case "C91818F9-8025-47AF-89D2-F030D7000C2C":
- return Localization.Plan_9;
- case "9D275380-40AD-11DB-BF97-000C2911D1B8":
- return Localization.VMware_vmkcore_coredump;
- case "AA31E02A-400F-11DB-9590-000C2911D1B8":
- return Localization.VMware_VMFS;
- case "9198EFFC-31C0-11DB-8F78-000C2911D1B8":
- return Localization.VMware_Reserved;
- case "7412F7D5-A156-4B13-81DC-867174929325":
- return Localization.ONIE_boot;
- case "D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149":
- return Localization.ONIE_config;
- case "9E1A2D38-C612-4316-AA26-8B49521E5A8B":
- return Localization.PowerPC_PReP_boot;
- case "0311FC50-01CA-4725-AD77-9ADBB20ACE98":
- return Localization.Acronis_Secure_Zone;
- case "7C3457EF-0000-11AA-AA11-00306543ECAC":
- return Localization.Apple_File_System;
- case "9D087404-1CA5-11DC-8817-01301BB8A9F5":
- return Localization.DragonflyBSD_Label;
- case "9D58FDBD-1CA5-11DC-8817-01301BB8A9F5":
- return Localization.DragonflyBSD_Swap;
- case "9D94CE7C-1CA5-11DC-8817-01301BB8A9F5":
- return Localization.DragonflyBSD_UFS;
- case "9DD4478F-1CA5-11DC-8817-01301BB8A9F5":
- return Localization.DragonflyBSD_Vinum;
- case "DBD5211B-1CA5-11DC-8817-01301BB8A9F5":
- return Localization.DragonflyBSD_CCD;
- case "3D48CE54-1D16-11DC-8817-01301BB8A9F5":
- return Localization.DragonflyBSD_Label;
- case "BD215AB2-1D16-11DC-8696-01301BB8A9F5":
- return Localization.DragonflyBSD_Legacy;
- case "61DC63AC-6E38-11DC-8513-01301BB8A9F5":
- return Localization.DragonflyBSD_Hammer;
- case "5CBB9AD1-862D-11DC-A94D-01301BB8A9F5":
- return Localization.DragonflyBSD_Hammer2;
- default:
- return "";
- }
+ return strType switch
+ {
+ "024DEE41-33E7-11D3-9D69-0008C781F39F" => Localization.MBR_scheme,
+ "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" => Localization.EFI_System,
+ "21686148-6449-6E6F-744E-656564454649" => Localization.BIOS_Boot,
+ "D3BFE2DE-3DAF-11DF-BA40-E3A556D89593" => Localization.Intel_Fast_Flash_iFFS,
+ "F4019732-066E-4E12-8273-346C5641494F" => Localization.Sony_boot,
+ "BFBFAFE7-A34F-448A-9A5B-6213EB736C22" => Localization.Lenovo_boot,
+ "E3C9E316-0B5C-4DB8-817D-F92DF00215AE" => Localization.Microsoft_Reserved_MSR,
+ "EBD0A0A2-B9E5-4433-87C0-68B6B72699C7" => Localization.Microsoft_Basic_data,
+ "5808C8AA-7E8F-42E0-85D2-E1E90434CFB3" => Localization.Logical_Disk_Manager_LDM_metadata,
+ "AF9B60A0-1431-4F62-BC68-3311714A69AD" => Localization.Logical_Disk_Manager_data,
+ "DE94BBA4-06D1-4D40-A16A-BFD50179D6AC" => Localization.Windows_Recovery_Environment,
+ "37AFFC90-EF7D-4E96-91C3-2D7AE055B174" => Localization.IBM_General_Parallel_File_System_GPFS,
+ "E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D" => Localization.Windows_Storage_Spaces,
+ "75894C1E-3AEB-11D3-B7C1-7B03A0000000" => Localization.HP_UX_Data,
+ "E2A1E728-32E3-11D6-A682-7B03A0000000" => Localization.HP_UX_Service,
+ "0FC63DAF-8483-4772-8E79-3D69D8477DE4" => Localization.Linux_filesystem,
+ "A19D880F-05FC-4D3B-A006-743F0F84911E" => Localization.Linux_RAID,
+ "44479540-F297-41B2-9AF7-D131D5F0458A" => Localization.Linux_Root_x86,
+ "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" => Localization.Linux_Root_x86_64,
+ "69DAD710-2CE4-4E3C-B16C-21A1D49ABED3" => Localization.Linux_Root_32_bit_ARM,
+ "B921B045-1DF0-41C3-AF44-4C6F280D3FAE" => Localization.Linux_Root_AArch64,
+ "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F" => Localization.Linux_swap,
+ "E6D6D379-F507-44C2-A23C-238F2A3DF928" => Localization.Logical_Volume_Manager_LVM,
+ "933AC7E1-2EB4-4F13-B844-0E14E2AEF915" => Localization.Linux_home,
+ "3B8F8425-20E0-4F3B-907F-1A25A76F98E8" => Localization.Linux_srv,
+ "7FFEC5C9-2D00-49B7-8941-3EA10A5586B7" => Localization.Plain_dm_crypt,
+ "CA7D7CCB-63ED-4C53-861C-1742536059CC" => Localization.LUKS,
+ "8DA63339-0007-60C0-C436-083AC8230908" => Localization.Linux_Reserved,
+ "83BD6B9D-7F41-11DC-BE0B-001560B84F0F" => Localization.FreeBSD_Boot,
+ "516E7CB4-6ECF-11D6-8FF8-00022D09712B" => Localization.FreeBSD_Data,
+ "516E7CB5-6ECF-11D6-8FF8-00022D09712B" => Localization.FreeBSD_swap,
+ "516E7CB6-6ECF-11D6-8FF8-00022D09712B" => Localization.FreeBSD_UFS,
+ "516E7CB7-6ECF-11D6-8FF8-00022D09712B" => Localization.FreeBSD_UFS2,
+ "516E7CB8-6ECF-11D6-8FF8-00022D09712B" => Localization.FreeBSD_Vinum,
+ "516E7CBA-6ECF-11D6-8FF8-00022D09712B" => Localization.FreeBSD_ZFS,
+ "74BA7DD9-A689-11E1-BD04-00E081286ACF" => Localization.FreeBSD_nandfs,
+ "48465300-0000-11AA-AA11-00306543ECAC" => Localization.Apple_HFS,
+ "55465300-0000-11AA-AA11-00306543ECAC" => Localization.Apple_UFS,
+ "52414944-0000-11AA-AA11-00306543ECAC" => Localization.Apple_RAID,
+ "52414944-5F4F-11AA-AA11-00306543ECAC" => Localization.Apple_RAID_offline,
+ "426F6F74-0000-11AA-AA11-00306543ECAC" => Localization.Apple_Boot,
+ "4C616265-6C00-11AA-AA11-00306543ECAC" => Localization.Apple_Label,
+ "5265636F-7665-11AA-AA11-00306543ECAC" => Localization.Apple_TV_Recovery,
+ "53746F72-6167-11AA-AA11-00306543ECAC" => Localization.Apple_Core_Storage,
+ "6A82CB45-1DD2-11B2-99A6-080020736631" => Localization.Solaris_boot,
+ "6A85CF4D-1DD2-11B2-99A6-080020736631" => Localization.Solaris_Root,
+ "6A87C46F-1DD2-11B2-99A6-080020736631" => Localization.Solaris_Swap,
+ "6A8B642B-1DD2-11B2-99A6-080020736631" => Localization.Solaris_Backup,
+ "6A898CC3-1DD2-11B2-99A6-080020736631" => Localization.Solaris_usr_or_Apple_ZFS,
+ "6A8EF2E9-1DD2-11B2-99A6-080020736631" => Localization.Solaris_var,
+ "6A90BA39-1DD2-11B2-99A6-080020736631" => Localization.Solaris_home,
+ "6A9283A5-1DD2-11B2-99A6-080020736631" => Localization.Solaris_Alternate_sector,
+ "6A945A3B-1DD2-11B2-99A6-080020736631"
+ or "6A9630D1-1DD2-11B2-99A6-080020736631"
+ or "6A980767-1DD2-11B2-99A6-080020736631"
+ or "6A96237F-1DD2-11B2-99A6-080020736631"
+ or "6A8D2AC7-1DD2-11B2-99A6-080020736631" => Localization.Solaris_Reserved,
+ "49F48D32-B10E-11DC-B99B-0019D1879648" => Localization.NetBSD_Swap,
+ "49F48D5A-B10E-11DC-B99B-0019D1879648" => Localization.NetBSD_FFS,
+ "49F48D82-B10E-11DC-B99B-0019D1879648" => Localization.NetBSD_LFS,
+ "49F48DAA-B10E-11DC-B99B-0019D1879648" => Localization.NetBSD_RAID,
+ "2DB519C4-B10F-11DC-B99B-0019D1879648" => Localization.NetBSD_Concatenated,
+ "2DB519EC-B10F-11DC-B99B-0019D1879648" => Localization.NetBSD_Encrypted,
+ "FE3A2A5D-4F32-41A7-B725-ACCC3285A309" => Localization.ChromeOS_kernel,
+ "3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC" => Localization.ChromeOS_rootfs,
+ "2E0A753D-9E48-43B0-8337-B15192CB1B5E" => Localization.ChromeOS_future_use,
+ "42465331-3BA3-10F1-802A-4861696B7521" => Localization.Haiku_BFS,
+ "85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7" => Localization.MidnightBSD_Boot,
+ "85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7" => Localization.MidnightBSD_Data,
+ "85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7" => Localization.MidnightBSD_Swap,
+ "0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7" => Localization.MidnightBSD_UFS,
+ "85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7" => Localization.MidnightBSD_Vinum,
+ "85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7" => Localization.MidnightBSD_ZFS,
+ "45B0969E-9B03-4F30-B4C6-B4B80CEFF106" => Localization.Ceph_Journal,
+ "45B0969E-9B03-4F30-B4C6-5EC00CEFF106" => Localization.Ceph_dm_crypt_Encrypted_Journal,
+ "4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D" => Localization.Ceph_OSD,
+ "4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D" => Localization.Ceph_dm_crypt_OSD,
+ "89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE" => Localization.Ceph_disk_in_creation,
+ "89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE" => Localization.Ceph_dm_crypt_disk_in_creation,
+ "824CC7A0-36A8-11E3-890A-952519AD3F61" => Localization.OpenBSD_Data,
+ "CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1" => Localization.QNX_Power_safe_QNX6,
+ "C91818F9-8025-47AF-89D2-F030D7000C2C" => Localization.Plan_9,
+ "9D275380-40AD-11DB-BF97-000C2911D1B8" => Localization.VMware_vmkcore_coredump,
+ "AA31E02A-400F-11DB-9590-000C2911D1B8" => Localization.VMware_VMFS,
+ "9198EFFC-31C0-11DB-8F78-000C2911D1B8" => Localization.VMware_Reserved,
+ "7412F7D5-A156-4B13-81DC-867174929325" => Localization.ONIE_boot,
+ "D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149" => Localization.ONIE_config,
+ "9E1A2D38-C612-4316-AA26-8B49521E5A8B" => Localization.PowerPC_PReP_boot,
+ "0311FC50-01CA-4725-AD77-9ADBB20ACE98" => Localization.Acronis_Secure_Zone,
+ "7C3457EF-0000-11AA-AA11-00306543ECAC" => Localization.Apple_File_System,
+ "9D087404-1CA5-11DC-8817-01301BB8A9F5" => Localization.DragonflyBSD_Label,
+ "9D58FDBD-1CA5-11DC-8817-01301BB8A9F5" => Localization.DragonflyBSD_Swap,
+ "9D94CE7C-1CA5-11DC-8817-01301BB8A9F5" => Localization.DragonflyBSD_UFS,
+ "9DD4478F-1CA5-11DC-8817-01301BB8A9F5" => Localization.DragonflyBSD_Vinum,
+ "DBD5211B-1CA5-11DC-8817-01301BB8A9F5" => Localization.DragonflyBSD_CCD,
+ "3D48CE54-1D16-11DC-8817-01301BB8A9F5" => Localization.DragonflyBSD_Label,
+ "BD215AB2-1D16-11DC-8696-01301BB8A9F5" => Localization.DragonflyBSD_Legacy,
+ "61DC63AC-6E38-11DC-8513-01301BB8A9F5" => Localization.DragonflyBSD_Hammer,
+ "5CBB9AD1-862D-11DC-A94D-01301BB8A9F5" => Localization.DragonflyBSD_Hammer2,
+ _ => ""
+ };
}
#region Nested type: Entry
diff --git a/Aaru.Partitions/PC98.cs b/Aaru.Partitions/PC98.cs
index 63b1e7fb4..1d965fd6d 100644
--- a/Aaru.Partitions/PC98.cs
+++ b/Aaru.Partitions/PC98.cs
@@ -160,32 +160,20 @@ public sealed class PC98 : IPartition
static string DecodePC98Sid(byte sid)
{
- switch(sid & 0x7F)
- {
- case 0x01:
- return Localization.FAT12;
- case 0x04:
- return Localization.PC_UX;
- case 0x06:
- return Localization.N88_BASIC_86;
+ return (sid & 0x7F) switch
+ {
+ 0x01 => Localization.FAT12,
+ 0x04 => Localization.PC_UX,
+ 0x06 => Localization.N88_BASIC_86,
- // Supposedly for FAT16 < 32 MiB, seen in bigger partitions
- case 0x11:
- case 0x21:
- return Localization.FAT16;
- case 0x28:
- case 0x41:
- case 0x48:
- return Localization.Windows_Volume_Set;
- case 0x44:
- return Localization.FreeBSD;
- case 0x61:
- return Localization.FAT32;
- case 0x62:
- return Localization.Linux;
- default:
- return Localization.Unknown_partition_type;
- }
+ // Supposedly for FAT16 < 32 MiB, seen in bigger partitions
+ 0x11 or 0x21 => Localization.FAT16,
+ 0x28 or 0x41 or 0x48 => Localization.Windows_Volume_Set,
+ 0x44 => Localization.FreeBSD,
+ 0x61 => Localization.FAT32,
+ 0x62 => Localization.Linux,
+ _ => Localization.Unknown_partition_type
+ };
}
#region Nested type: Partition
diff --git a/Aaru.Tests.Devices/SCSI/Plextor.cs b/Aaru.Tests.Devices/SCSI/Plextor.cs
index e47bfc79c..8f78b3e4f 100644
--- a/Aaru.Tests.Devices/SCSI/Plextor.cs
+++ b/Aaru.Tests.Devices/SCSI/Plextor.cs
@@ -1183,26 +1183,13 @@ static class Plextor
continue;
}
- switch(subchan)
- {
- case PlextorSubchannel.Q16:
- blockSize = 2368;
-
- break;
- case PlextorSubchannel.Pack:
- case PlextorSubchannel.All:
- blockSize = 2448;
-
- break;
- case PlextorSubchannel.RawC2:
- blockSize = 2742;
-
- break;
- default:
- blockSize = 2352;
-
- break;
- }
+ blockSize = subchan switch
+ {
+ PlextorSubchannel.Q16 => 2368,
+ PlextorSubchannel.Pack or PlextorSubchannel.All => 2448,
+ PlextorSubchannel.RawC2 => 2742,
+ _ => 2352
+ };
break;
case 2: