From 035a83011ebd8664671f7183d72f9022cca9e81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 18 Oct 2009 20:06:09 +0000 Subject: [PATCH] Ok, reverting r43565. Someone will have to tell me why it works for me but not for buildbot svn path=/trunk/; revision=43576 --- reactos/boot/freeldr/freeldr/arch/i386/hardware.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/reactos/boot/freeldr/freeldr/arch/i386/hardware.c b/reactos/boot/freeldr/freeldr/arch/i386/hardware.c index 6022e782b74..007ed197320 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/hardware.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/hardware.c @@ -467,7 +467,7 @@ static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count) { DISKCONTEXT* Context = FsGetDeviceSpecific(FileId); UCHAR* Ptr = (UCHAR*)Buffer; - ULONG i, Length, Sectors; + ULONG i, Length; BOOLEAN ret; *Count = 0; @@ -475,13 +475,12 @@ static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count) while (N > 0) { Length = N; - if (Length > DISKREADBUFFER_SIZE) - Length = DISKREADBUFFER_SIZE; - Sectors = (Length + Context->SectorSize - 1) / Context->SectorSize; + if (Length > Context->SectorSize) + Length = Context->SectorSize; ret = MachDiskReadLogicalSectors( Context->DriveNumber, Context->SectorNumber + Context->SectorOffset + i, - Sectors, + 1, (PVOID)DISKREADBUFFER); if (!ret) return EIO; @@ -489,7 +488,7 @@ static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count) Ptr += Length; *Count += Length; N -= Length; - i += Sectors; + i++; } return ESUCCESS;