fix code that depends on GCC's void* pointer arithmetic extension Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/hardware.c Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/hwpci.c Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/xboxdisk.c Modified: trunk/reactos/boot/freeldr/freeldr/cache/cache.c Modified: trunk/reactos/boot/freeldr/freeldr/fs/ext2.c Modified: trunk/reactos/boot/freeldr/freeldr/fs/fat.c Modified: trunk/reactos/boot/freeldr/freeldr/fs/iso.c Modified: trunk/reactos/boot/freeldr/freeldr/linuxboot.c Modified: trunk/reactos/boot/freeldr/freeldr/mm/meminit.c Modified: trunk/reactos/boot/freeldr/freeldr/mm/mm.c Modified: trunk/reactos/boot/freeldr/freeldr/multiboot.c _____
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/hardware.c --- trunk/reactos/boot/freeldr/freeldr/arch/i386/hardware.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/hardware.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -363,7 +363,7 @@
FullResourceDescriptor->PartialResourceList.PartialDescriptors[0].ShareD isposition = CmResourceShareUndetermined;
- Ptr = (char *)(((PVOID)&FullResourceDescriptor->PartialResourceList.PartialDescripto rs[0]) + + Ptr = (char *)(((ULONG_PTR)&FullResourceDescriptor->PartialResourceList.PartialDescr iptors[0]) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR));
/* Set instalation check data */ @@ -460,7 +460,7 @@ sizeof(CM_DISK_GEOMETRY_DEVICE_DATA);
/* Get pointer to geometry data */ - DiskGeometry = ((PVOID)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR); + DiskGeometry = (PVOID)(((ULONG_PTR)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR));
/* Get the disk geometry */ ExtGeometry.Size = sizeof(EXTENDED_GEOMETRY); @@ -648,7 +648,7 @@ sizeof(CM_INT13_DRIVE_PARAMETER) * DiskCount;
/* Get harddisk Int13 geometry data */ - Int13Drives = ((PVOID)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR); + Int13Drives = (PVOID)(((ULONG_PTR)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR)); for (i = 0; i < DiskCount; i++) { if (MachDiskGetDriveGeometry(0x80 + i, &Geometry)) @@ -744,7 +744,7 @@ PUSHORT SegPtr = (PUSHORT)0x7A; PUSHORT OfsPtr = (PUSHORT)0x78;
- return (PVOID)(((ULONG)(*SegPtr)) << 4) + (ULONG)(*OfsPtr); + return (PVOID)((ULONG_PTR)(((ULONG)(*SegPtr)) << 4) + (ULONG)(*OfsPtr)); }
@@ -814,7 +814,7 @@ PartialDescriptor->ShareDisposition = CmResourceShareUndetermined; PartialDescriptor->u.DeviceSpecificData.DataSize = sizeof(CM_FLOPPY_DEVICE_DATA);
- FloppyData = ((PVOID)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR); + FloppyData = (PVOID)(((ULONG_PTR)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR)); FloppyData->Version = 2; FloppyData->Revision = 0; FloppyData->MaxDensity = MaxDensity[FloppyType]; @@ -1691,7 +1691,7 @@ PartialDescriptor->ShareDisposition = CmResourceShareUndetermined; PartialDescriptor->u.DeviceSpecificData.DataSize = sizeof(CM_KEYBOARD_DEVICE_DATA);
- KeyboardData = ((PVOID)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR); + KeyboardData = (PVOID)(((ULONG_PTR)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR)); KeyboardData->Version = 0; KeyboardData->Revision = 0; KeyboardData->Type = 4; _____
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/hwpci.c --- trunk/reactos/boot/freeldr/freeldr/arch/i386/hwpci.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/hwpci.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -208,7 +208,7 @@
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined; PartialDescriptor->u.DeviceSpecificData.DataSize = Table->Size;
- memcpy(((PVOID)FullResourceDescriptor) + sizeof(CM_FULL_RESOURCE_DESCRIPTOR), + memcpy((PVOID)((ULONG_PTR)FullResourceDescriptor + sizeof(CM_FULL_RESOURCE_DESCRIPTOR)), Table, Table->Size);
_____
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c --- trunk/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/pcdisk.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -258,7 +258,7 @@
// of checking the sector read count we will rely solely // on the carry flag being set on error
- Buffer += (NumberOfSectorsToRead * DriveGeometry.BytesPerSector); + Buffer = (PVOID)((ULONG_PTR)Buffer + (NumberOfSectorsToRead * DriveGeometry.BytesPerSector)); SectorCount -= NumberOfSectorsToRead; SectorNumber += NumberOfSectorsToRead; } _____
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/xboxdisk.c --- trunk/reactos/boot/freeldr/freeldr/arch/i386/xboxdisk.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/xboxdisk.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -387,7 +387,7 @@
if (Junk == FALSE) { IDEReadBlock(CommandPort, Buffer, IDE_SECTOR_BUF_SZ); - Buffer += IDE_SECTOR_BUF_SZ; + Buffer = (PVOID)((ULONG_PTR)Buffer + IDE_SECTOR_BUF_SZ); } else { _____
Modified: trunk/reactos/boot/freeldr/freeldr/cache/cache.c --- trunk/reactos/boot/freeldr/freeldr/cache/cache.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/cache/cache.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -164,14 +164,14 @@
// Copy the portion requested into the buffer // RtlCopyMemory(Buffer, - (CacheBlock->BlockData + (SectorOffsetInStartBlock * CacheManagerDrive.BytesPerSector)), + (PVOID)((ULONG_PTR)CacheBlock->BlockData + (SectorOffsetInStartBlock * CacheManagerDrive.BytesPerSector)), (CopyLengthInStartBlock * CacheManagerDrive.BytesPerSector)); DbgPrint((DPRINT_CACHE, "1 - RtlCopyMemory(0x%x, 0x%x, %d)\n", Buffer, (CacheBlock->BlockData + (SectorOffsetInStartBlock * CacheManagerDrive.BytesPerSector)), (CopyLengthInStartBlock * CacheManagerDrive.BytesPerSector)));
// // Update the buffer address // - Buffer += (CopyLengthInStartBlock * CacheManagerDrive.BytesPerSector); + Buffer = (PVOID)((ULONG_PTR)Buffer + (CopyLengthInStartBlock * CacheManagerDrive.BytesPerSector));
// // Update the block count @@ -204,7 +204,7 @@ // // Update the buffer address // - Buffer += CacheManagerDrive.BlockSize * CacheManagerDrive.BytesPerSector; + Buffer = (PVOID)((ULONG_PTR)Buffer + (CacheManagerDrive.BlockSize * CacheManagerDrive.BytesPerSector));
// // Update the block count @@ -237,7 +237,7 @@ // // Update the buffer address // - Buffer += SectorOffsetInEndBlock * CacheManagerDrive.BytesPerSector; + Buffer = (PVOID)((ULONG_PTR)Buffer + (SectorOffsetInEndBlock * CacheManagerDrive.BytesPerSector));
// // Update the block count _____
Modified: trunk/reactos/boot/freeldr/freeldr/fs/ext2.c --- trunk/reactos/boot/freeldr/freeldr/fs/ext2.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/fs/ext2.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -298,7 +298,7 @@
for (CurrentOffset=0; CurrentOffset<DirectorySize; ) { - CurrentDirectoryEntry = (PEXT2_DIR_ENTRY)(DirectoryBuffer + CurrentOffset); + CurrentDirectoryEntry = (PEXT2_DIR_ENTRY)((ULONG_PTR)DirectoryBuffer + CurrentOffset);
if (CurrentDirectoryEntry->rec_len == 0) { @@ -401,7 +401,7 @@ DbgPrint((DPRINT_FILESYSTEM, "Reading fast symbolic link data\n"));
// Copy the data from the link - RtlCopyMemory(Buffer, (PVOID)(Ext2FileInfo->Inode.i_block) + Ext2FileInfo->FilePointer, BytesToRead); + RtlCopyMemory(Buffer, (PVOID)((ULONG_PTR)Ext2FileInfo->FilePointer + Ext2FileInfo->Inode.i_block), BytesToRead);
if (BytesRead != NULL) { @@ -466,7 +466,7 @@ } BytesToRead -= LengthInBlock; Ext2FileInfo->FilePointer += LengthInBlock; - Buffer += LengthInBlock; + Buffer = (PVOID)((ULONG_PTR)Buffer + LengthInBlock); }
// @@ -497,7 +497,7 @@ } BytesToRead -= Ext2BlockSizeInBytes; Ext2FileInfo->FilePointer += Ext2BlockSizeInBytes; - Buffer += Ext2BlockSizeInBytes; + Buffer = (PVOID)((ULONG_PTR)Buffer + Ext2BlockSizeInBytes); NumberOfBlocks--; } } @@ -523,7 +523,7 @@ } Ext2FileInfo->FilePointer += BytesToRead; BytesToRead -= BytesToRead; - Buffer += BytesToRead; + Buffer = (PVOID)((ULONG_PTR)Buffer + (ULONG_PTR)BytesToRead); }
return TRUE; @@ -878,7 +878,7 @@ return FALSE; }
- memcpy(Buffer, ((PVOID)FILESYSBUFFER + StartingOffset), Length); + memcpy(Buffer, (PVOID)((ULONG_PTR)FILESYSBUFFER + StartingOffset), Length);
return TRUE; } _____
Modified: trunk/reactos/boot/freeldr/freeldr/fs/fat.c --- trunk/reactos/boot/freeldr/freeldr/fs/fat.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/fs/fat.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -860,7 +860,7 @@
} }
- fat = *((USHORT *) ((PVOID)FILESYSBUFFER + ThisFatEntOffset)); + fat = *((USHORT *) ((ULONG_PTR)FILESYSBUFFER + ThisFatEntOffset)); if (Cluster & 0x0001) fat = fat >> 4; /* Cluster number is ODD */ else @@ -880,7 +880,7 @@ return FALSE; }
- fat = *((USHORT *) ((PVOID)FILESYSBUFFER + ThisFatEntOffset)); + fat = *((USHORT *) ((ULONG_PTR)FILESYSBUFFER + ThisFatEntOffset));
break;
@@ -897,7 +897,7 @@ }
// Get the fat entry - fat = (*((ULONG *) ((PVOID)FILESYSBUFFER + ThisFatEntOffset))) & 0x0FFFFFFF; + fat = (*((ULONG *) ((ULONG_PTR)FILESYSBUFFER + ThisFatEntOffset))) & 0x0FFFFFFF;
break;
@@ -1091,7 +1091,7 @@ // // Increment buffer address by cluster size // - Buffer += SectorsPerCluster * BytesPerSector; + Buffer = (PVOID)((ULONG_PTR)Buffer + (SectorsPerCluster * BytesPerSector));
// // Get next cluster @@ -1132,7 +1132,7 @@ return FALSE; }
- memcpy(Buffer, ((PVOID)FILESYSBUFFER + StartingOffset), Length); + memcpy(Buffer, (PVOID)((ULONG_PTR)FILESYSBUFFER + StartingOffset), Length);
return TRUE; } @@ -1234,7 +1234,7 @@ } BytesToRead -= LengthInCluster; FatFileInfo->FilePointer += LengthInCluster; - Buffer += LengthInCluster; + Buffer = (PVOID)((ULONG_PTR)Buffer + LengthInCluster); }
// @@ -1265,7 +1265,7 @@ } BytesToRead -= (NumberOfClusters * BytesPerCluster); FatFileInfo->FilePointer += (NumberOfClusters * BytesPerCluster); - Buffer += (NumberOfClusters * BytesPerCluster); + Buffer = (PVOID)((ULONG_PTR)Buffer + (NumberOfClusters * BytesPerCluster)); } }
@@ -1290,7 +1290,7 @@ } FatFileInfo->FilePointer += BytesToRead; BytesToRead -= BytesToRead; - Buffer += BytesToRead; + Buffer = (PVOID)((ULONG_PTR)Buffer + BytesToRead); }
return TRUE; _____
Modified: trunk/reactos/boot/freeldr/freeldr/fs/iso.c --- trunk/reactos/boot/freeldr/freeldr/fs/iso.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/fs/iso.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -81,12 +81,12 @@
while (TRUE) { Offset = Offset + Record->RecordLength; - Record = (PDIR_RECORD)(DirectoryBuffer + Offset); + Record = (PDIR_RECORD)((ULONG_PTR)DirectoryBuffer + Offset);
if (Record->RecordLength == 0) { Offset = ROUND_UP(Offset, SECTORSIZE); - Record = (PDIR_RECORD)(DirectoryBuffer + Offset); + Record = (PDIR_RECORD)((ULONG_PTR)DirectoryBuffer + Offset); }
if (Offset >= DirectoryLength) @@ -159,7 +159,7 @@ // // Now read directory contents into DirectoryBuffer // - for (i = 0, Ptr = DirectoryBuffer; i < SectorCount; i++, Ptr += SECTORSIZE) + for (i = 0, Ptr = DirectoryBuffer; i < SectorCount; i++, Ptr = (PVOID)((ULONG_PTR)Ptr + SECTORSIZE)) { if (!MachDiskReadLogicalSectors(IsoDriveNumber, DirectoryStartSector + i, 1, (PVOID)DISKREADBUFFER)) { @@ -377,14 +377,14 @@ { return FALSE; } - RtlCopyMemory(Buffer, ((PVOID)DISKREADBUFFER + OffsetInSector), LengthInSector); + RtlCopyMemory(Buffer, (PVOID)((ULONG_PTR)DISKREADBUFFER + OffsetInSector), LengthInSector); if (BytesRead != NULL) { *BytesRead += LengthInSector; } BytesToRead -= LengthInSector; IsoFileInfo->FilePointer += LengthInSector; - Buffer += LengthInSector; + Buffer = (PVOID)((ULONG_PTR)Buffer + LengthInSector); }
// @@ -417,7 +417,7 @@ } BytesToRead -= SECTORSIZE; IsoFileInfo->FilePointer += SECTORSIZE; - Buffer += SECTORSIZE; + Buffer = (PVOID)((ULONG_PTR)Buffer + SECTORSIZE); } }
@@ -442,7 +442,7 @@ } IsoFileInfo->FilePointer += BytesToRead; BytesToRead -= BytesToRead; - Buffer += BytesToRead; + Buffer = (PVOID)((ULONG_PTR)Buffer + BytesToRead); }
DbgPrint((DPRINT_FILESYSTEM, "IsoReadFile() done\n")); _____
Modified: trunk/reactos/boot/freeldr/freeldr/linuxboot.c --- trunk/reactos/boot/freeldr/freeldr/linuxboot.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/linuxboot.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -346,7 +346,7 @@
// Read in the rest of the linux setup sectors FsSetFilePointer(LinuxKernelFile, 1024); - if (!FsReadFile(LinuxKernelFile, SetupSectorSize - 512, NULL, ((PVOID)LinuxSetupSector) + 512)) + if (!FsReadFile(LinuxKernelFile, SetupSectorSize - 512, NULL, (PVOID)((ULONG_PTR)LinuxSetupSector + 512))) { return FALSE; } @@ -400,7 +400,7 @@ }
BytesLoaded += LINUX_READ_CHUNK_SIZE; - LoadAddress += LINUX_READ_CHUNK_SIZE; + LoadAddress = (PVOID)((ULONG_PTR)LoadAddress + LINUX_READ_CHUNK_SIZE);
UiDrawProgressBarCenter(BytesLoaded, LinuxKernelSize + LinuxInitrdSize, LinuxBootDescription); } @@ -491,7 +491,7 @@ }
BytesLoaded += LINUX_READ_CHUNK_SIZE; - LinuxInitrdLoadAddress += LINUX_READ_CHUNK_SIZE; + LinuxInitrdLoadAddress = (PVOID)((ULONG_PTR)LinuxInitrdLoadAddress + LINUX_READ_CHUNK_SIZE);
UiDrawProgressBarCenter(BytesLoaded + LinuxKernelSize, LinuxInitrdSize + LinuxKernelSize, LinuxBootDescription); } _____
Modified: trunk/reactos/boot/freeldr/freeldr/mm/meminit.c --- trunk/reactos/boot/freeldr/freeldr/mm/meminit.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/mm/meminit.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -264,7 +264,7 @@
// Mark the pages that the lookup tabel occupies as reserved PageLookupTableStartPage = MmGetPageNumberFromAddress(PageLookupTable); - PageLookupTablePageCount = MmGetPageNumberFromAddress(PageLookupTable + ROUND_UP(TotalPageCount * sizeof(PAGE_LOOKUP_TABLE_ITEM), MM_PAGE_SIZE)) - PageLookupTableStartPage; + PageLookupTablePageCount = MmGetPageNumberFromAddress((PVOID)((ULONG_PTR)PageLookupTable + ROUND_UP(TotalPageCount * sizeof(PAGE_LOOKUP_TABLE_ITEM), MM_PAGE_SIZE))) - PageLookupTableStartPage; DbgPrint((DPRINT_MEMORY, "Marking the page lookup table pages as reserved StartPage: %d PageCount: %d\n", PageLookupTableStartPage, PageLookupTablePageCount)); MmMarkPagesInLookupTable(PageLookupTable, PageLookupTableStartPage, PageLookupTablePageCount, MEMTYPE_RESERVED); } _____
Modified: trunk/reactos/boot/freeldr/freeldr/mm/mm.c --- trunk/reactos/boot/freeldr/freeldr/mm/mm.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/mm/mm.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -72,7 +72,7 @@
MemorySize = ROUND_UP(MemorySize, 4); if (MemorySize <= SubAllocationRest) { - MemPointer = SubAllocationPage + MM_PAGE_SIZE - SubAllocationRest; + MemPointer = (PVOID)((ULONG_PTR)SubAllocationPage + MM_PAGE_SIZE - SubAllocationRest); SubAllocationRest -= MemorySize; return MemPointer; } _____
Modified: trunk/reactos/boot/freeldr/freeldr/multiboot.c --- trunk/reactos/boot/freeldr/freeldr/multiboot.c 2005-07-04 22:25:46 UTC (rev 16418) +++ trunk/reactos/boot/freeldr/freeldr/multiboot.c 2005-07-04 23:05:17 UTC (rev 16419) @@ -213,7 +213,7 @@
Ke386SetCr0(Ke386GetCr0() | X86_CR0_PG | X86_CR0_WP);
/* Jump to Kernel */ - PagedJump = (ASMCODE)KernelEntryPoint; + PagedJump = (ASMCODE)(PVOID)(KernelEntryPoint); PagedJump(Magic, &LoaderBlock); }