Correctly check transfer size for compact disc dumping.

This commit is contained in:
2017-11-29 15:15:39 +00:00
parent 7a54a039b9
commit 09017ad8bf

View File

@@ -501,7 +501,7 @@ namespace DiscImageChef.Core.Devices.Dumping
{ {
sense = dev.ReadCd(out readBuffer, out senseBuf, 0, blockSize, blocksToRead, MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, sense = dev.ReadCd(out readBuffer, out senseBuf, 0, blockSize, blocksToRead, MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders,
true, true, MmcErrorField.None, MmcSubchannel.Raw, dev.Timeout, out duration); true, true, MmcErrorField.None, MmcSubchannel.Raw, dev.Timeout, out duration);
if(dev.Error) if(dev.Error || sense)
blocksToRead /= 2; blocksToRead /= 2;
} }
@@ -509,7 +509,7 @@ namespace DiscImageChef.Core.Devices.Dumping
break; break;
} }
if(dev.Error) if(dev.Error || sense)
{ {
DicConsole.WriteLine("Device error {0} trying to guess ideal transfer length.", dev.LastError); DicConsole.WriteLine("Device error {0} trying to guess ideal transfer length.", dev.LastError);
DicConsole.ErrorWriteLine("Device error {0} trying to guess ideal transfer length.", dev.LastError); DicConsole.ErrorWriteLine("Device error {0} trying to guess ideal transfer length.", dev.LastError);