diff --git a/DiscImageChef.Console/ChangeLog b/DiscImageChef.Console/ChangeLog index 7b2d9a1d..57cc989c 100644 --- a/DiscImageChef.Console/ChangeLog +++ b/DiscImageChef.Console/ChangeLog @@ -1,3 +1,8 @@ +2015-10-31 Natalia Portillo + + * DicConsole.cs: + Solved some bugs found testing on usb flash sticks. + 2015-10-19 Natalia Portillo * DiscImageChef.Console.csproj: diff --git a/DiscImageChef.Console/DicConsole.cs b/DiscImageChef.Console/DicConsole.cs index 1d33a451..68e0eff1 100644 --- a/DiscImageChef.Console/DicConsole.cs +++ b/DiscImageChef.Console/DicConsole.cs @@ -160,25 +160,25 @@ namespace DiscImageChef.Console public static void WriteLine(string format) { if (WriteLineEvent != null) - WriteLineEvent(format, null); + WriteLineEvent("{0}", format); } public static void ErrorWriteLine(string format) { if (ErrorWriteLineEvent != null) - ErrorWriteLineEvent(format, null); + ErrorWriteLineEvent("{0}", format); } public static void VerboseWriteLine(string format) { if (VerboseWriteLineEvent != null) - VerboseWriteLineEvent(format, null); + VerboseWriteLineEvent("{0}", format); } public static void DebugWriteLine(string module, string format) { if (DebugWriteLineEvent != null) - DebugWriteLineEvent("DEBUG (" + module + "): " + format, null); + DebugWriteLineEvent("{0}", "DEBUG (" + module + "): " + format); } } diff --git a/DiscImageChef.Decoders/ChangeLog b/DiscImageChef.Decoders/ChangeLog index 89215281..6a6a3f27 100644 --- a/DiscImageChef.Decoders/ChangeLog +++ b/DiscImageChef.Decoders/ChangeLog @@ -1,3 +1,8 @@ +2015-10-31 Natalia Portillo + + * SCSI/Modes.cs: + Solved some bugs found testing on usb flash sticks. + 2015-10-31 Natalia Portillo * SCSI/Modes.cs: diff --git a/DiscImageChef.Decoders/SCSI/Modes.cs b/DiscImageChef.Decoders/SCSI/Modes.cs index a95e7522..f4583162 100644 --- a/DiscImageChef.Decoders/SCSI/Modes.cs +++ b/DiscImageChef.Decoders/SCSI/Modes.cs @@ -629,7 +629,7 @@ namespace DiscImageChef.Decoders.SCSI sb.AppendLine("3.5-inch, 135 tpi, 15916 bits/radian, double-sided MFM (aka 1.44Mb)"); break; default: - sb.AppendFormat("Unknown medium type 0x{0:X2}", header.Value.MediumType).AppendLine(); + sb.AppendFormat("Unknown medium type 0x{0:X2}", (byte)header.Value.MediumType).AppendLine(); break; } } @@ -659,7 +659,7 @@ namespace DiscImageChef.Decoders.SCSI density = "15916 flux transitions per radian"; break; default: - density = String.Format("with unknown density code 0x{0:X2}", descriptor.Density); + density = String.Format("with unknown density code 0x{0:X2}", (byte)descriptor.Density); break; } @@ -696,7 +696,7 @@ namespace DiscImageChef.Decoders.SCSI sb.AppendLine("\tDevice uses a write cache but doesn't return until cache is flushed"); break; default: - sb.AppendFormat("\tUnknown buffered mode code 0x{0:X2}", header.Value.BufferedMode).AppendLine(); + sb.AppendFormat("\tUnknown buffered mode code 0x{0:X2}", (byte)header.Value.BufferedMode).AppendLine(); break; } diff --git a/DiscImageChef/ChangeLog b/DiscImageChef/ChangeLog index 10777cc1..cbee2dee 100644 --- a/DiscImageChef/ChangeLog +++ b/DiscImageChef/ChangeLog @@ -1,3 +1,8 @@ +2015-10-31 Natalia Portillo + + * Commands/DeviceInfo.cs: + Solved some bugs found testing on usb flash sticks. + 2015-10-31 Natalia Portillo * Commands/DeviceInfo.cs: diff --git a/DiscImageChef/Commands/DeviceInfo.cs b/DiscImageChef/Commands/DeviceInfo.cs index 7143d1cb..59b3b218 100644 --- a/DiscImageChef/Commands/DeviceInfo.cs +++ b/DiscImageChef/Commands/DeviceInfo.cs @@ -199,24 +199,25 @@ namespace DiscImageChef.Commands Decoders.SCSI.PeripheralDeviceTypes devType = (DiscImageChef.Decoders.SCSI.PeripheralDeviceTypes)inq.Value.PeripheralDeviceType; sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0xFF, dev.Timeout, out duration); - if (sense) + if (sense || dev.Error) { sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration); } - if (!sense) + if (!sense && !dev.Error) { decMode = Decoders.SCSI.Modes.DecodeMode10(modeBuf, devType); } - else + + if(sense || dev.Error || !decMode.HasValue) { sense = dev.ModeSense6(out modeBuf, out senseBuf, false, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration); - if(sense) + if (sense || dev.Error) sense = dev.ModeSense6(out modeBuf, out senseBuf, false, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration); - if(sense) + if (sense || dev.Error) sense = dev.ModeSense(out modeBuf, out senseBuf, 15000, out duration); - if(!sense) + if (!sense && !dev.Error) decMode = Decoders.SCSI.Modes.DecodeMode6(modeBuf, devType); }