Solved some bugs found testing on usb flash sticks.

This commit is contained in:
2015-10-31 21:32:10 +00:00
parent 6b9f8f97c8
commit 3a069ab37a
6 changed files with 29 additions and 13 deletions

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* DicConsole.cs:
Solved some bugs found testing on usb flash sticks.
2015-10-19 Natalia Portillo <claunia@claunia.com>
* DiscImageChef.Console.csproj:

View File

@@ -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);
}
}

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* SCSI/Modes.cs:
Solved some bugs found testing on usb flash sticks.
2015-10-31 Natalia Portillo <claunia@claunia.com>
* SCSI/Modes.cs:

View File

@@ -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;
}

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* Commands/DeviceInfo.cs:
Solved some bugs found testing on usb flash sticks.
2015-10-31 Natalia Portillo <claunia@claunia.com>
* Commands/DeviceInfo.cs:

View File

@@ -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);
}