reactos/drivers/storage/floppy
diff -u -r1.5 -r1.6
--- readwrite.c 11 Mar 2004 06:48:22 -0000 1.5
+++ readwrite.c 11 Mar 2004 07:01:58 -0000 1.6
@@ -660,10 +660,15 @@
KdPrint(("floppy: ReadWritePassive(): computing number of sectors to transfer (StartSector 0x%x): ", StartSector));
/* 1-based sector number */
- if( (DriveInfo->DiskGeometry.SectorsPerTrack - StartSector + 1) < Length / DriveInfo->DiskGeometry.BytesPerSector)
+ if( (DriveInfo->DiskGeometry.SectorsPerTrack - StartSector + 1) <
+ (Length - TransferByteOffset) / DriveInfo->DiskGeometry.BytesPerSector)
+ {
CurrentTransferSectors = (UCHAR)DriveInfo->DiskGeometry.SectorsPerTrack - StartSector + 1;
+ }
else
- CurrentTransferSectors = (UCHAR)(Length / DriveInfo->DiskGeometry.BytesPerSector);
+ {
+ CurrentTransferSectors = (UCHAR)((Length - TransferByteOffset) / DriveInfo->DiskGeometry.BytesPerSector);
+ }
KdPrint(("0x%x\n", CurrentTransferSectors));