Author: fireball Date: Sat Nov 11 16:17:58 2006 New Revision: 24719
URL: http://svn.reactos.org/svn/reactos?rev=24719&view=rev Log: Make SystemConfigurationDataQueryRoutine() store information about as many drives as needed (previous version of the code did the same).
Fixes "no partitions list" bug in usetup introduced in 24718.
Modified: trunk/reactos/base/setup/usetup/partlist.c
Modified: trunk/reactos/base/setup/usetup/partlist.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/partlist.... ============================================================================== --- trunk/reactos/base/setup/usetup/partlist.c (original) +++ trunk/reactos/base/setup/usetup/partlist.c Sat Nov 11 16:17:58 2006 @@ -511,16 +511,16 @@ for (i = 0; i < FullResourceDescriptor->PartialResourceList.Count; i++) { if (FullResourceDescriptor->PartialResourceList.PartialDescriptors[i].Type != CmResourceTypeDeviceSpecific || - FullResourceDescriptor->PartialResourceList.PartialDescriptors[i].u.DeviceSpecificData.DataSize != sizeof(CM_INT13_DRIVE_PARAMETER)) + FullResourceDescriptor->PartialResourceList.PartialDescriptors[i].u.DeviceSpecificData.DataSize % sizeof(CM_INT13_DRIVE_PARAMETER) != 0) continue;
- *Int13Drives = RtlAllocateHeap(ProcessHeap, 0, sizeof(CM_INT13_DRIVE_PARAMETER)); + *Int13Drives = RtlAllocateHeap(ProcessHeap, 0, FullResourceDescriptor->PartialResourceList.PartialDescriptors[i].u.DeviceSpecificData.DataSize); if (*Int13Drives == NULL) return STATUS_NO_MEMORY; memcpy( *Int13Drives, &FullResourceDescriptor->PartialResourceList.PartialDescriptors[i + 1], - sizeof(CM_INT13_DRIVE_PARAMETER)); + FullResourceDescriptor->PartialResourceList.PartialDescriptors[i].u.DeviceSpecificData.DataSize); return STATUS_SUCCESS; } return STATUS_UNSUCCESSFUL;