Fix LdrAccessResource for ordinary mapped files.
Modified: trunk/reactos/ntoskrnl/ldr/resource.c

Modified: trunk/reactos/ntoskrnl/ldr/resource.c
--- trunk/reactos/ntoskrnl/ldr/resource.c	2005-08-01 08:56:51 UTC (rev 16934)
+++ trunk/reactos/ntoskrnl/ldr/resource.c	2005-08-01 08:58:15 UTC (rev 16935)
@@ -43,10 +43,10 @@
    if (Data == 0)
 	return STATUS_RESOURCE_DATA_NOT_FOUND;
 
-   if ((ULONG)BaseAddress & 1)
+   if ((ULONG_PTR)BaseAddress & 1)
      {
 	/* loaded as ordinary file */
-	NtHeader = RtlImageNtHeader((PVOID)((ULONG)BaseAddress & ~1UL));
+	NtHeader = RtlImageNtHeader((PVOID)((ULONG_PTR)BaseAddress & ~1));
 	Offset = (ULONG)BaseAddress - Data + NtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress;
 	Section = RtlImageRvaToSection (NtHeader, BaseAddress, NtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress);
 	if (Section == NULL)
@@ -64,7 +64,7 @@
 
    if (Resource)
      {
-	*Resource = (PVOID)(ResourceDataEntry->OffsetToData - Offset + (ULONG)BaseAddress);
+	*Resource = (PVOID)(ResourceDataEntry->OffsetToData - Offset + ((ULONG_PTR)BaseAddress & ~1));
      }
 
    if (Size)