Continue of MSVC-compiling changes....
[reactos.git] / reactos / ntoskrnl / ldr / rtl.c
index c1c33af..0a165ea 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rtl.c,v 1.17 2003/07/11 01:23:15 royce Exp $
+/* $Id: rtl.c,v 1.18 2003/12/30 18:52:05 fireball Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
@@ -33,7 +33,7 @@ RtlImageNtHeader (IN PVOID BaseAddress)
    PIMAGE_NT_HEADERS NTHeaders;
    
    DosHeader = (PIMAGE_DOS_HEADER)BaseAddress;
-   NTHeaders = (PIMAGE_NT_HEADERS)(BaseAddress + DosHeader->e_lfanew);
+   NTHeaders = (PIMAGE_NT_HEADERS)((char*)BaseAddress + DosHeader->e_lfanew);
    if ((DosHeader->e_magic != IMAGE_DOS_MAGIC)
        || (DosHeader->e_lfanew == 0L)
        || (*(PULONG) NTHeaders != IMAGE_PE_MAGIC))
@@ -73,7 +73,7 @@ RtlImageDirectoryEntryToData (IN PVOID        BaseAddress,
                *Size = NtHeader->OptionalHeader.DataDirectory[Directory].Size;
 
        if (ImageLoaded)
-               return (PVOID)(BaseAddress + Va);
+               return (PVOID)((char*)BaseAddress + Va);
 
        /* image mapped as ordinary file, we must find raw pointer */
        SectionHeader = (PIMAGE_SECTION_HEADER)(NtHeader + 1);
@@ -81,7 +81,7 @@ RtlImageDirectoryEntryToData (IN PVOID        BaseAddress,
        while (Count--)
        {
                if (SectionHeader->VirtualAddress == Va)
-                       return (PVOID)(BaseAddress + SectionHeader->PointerToRawData);
+                       return (PVOID)((char*)BaseAddress + SectionHeader->PointerToRawData);
                SectionHeader++;
        }
 
@@ -142,7 +142,7 @@ RtlImageRvaToVa (
                        *SectionHeader = Section;
        }
 
-       return (ULONG)(BaseAddress +
+       return (ULONG)((char*)BaseAddress +
                       Rva +
                       Section->PointerToRawData -
                       Section->VirtualAddress);
@@ -172,15 +172,15 @@ LdrGetProcedureAddress (IN PVOID BaseAddress,
        return(STATUS_INVALID_PARAMETER);
      }
    
-   AddressPtr = (PULONG)RVA(BaseAddress, ExportDir->AddressOfFunctions);
+   AddressPtr = (PULONG)RVA((char*)BaseAddress, ExportDir->AddressOfFunctions);
    if (Name && Name->Length)
      {
        ULONG minn, maxn;
 
        /* by name */
        OrdinalPtr = 
-        (PUSHORT)RVA(BaseAddress, ExportDir->AddressOfNameOrdinals);
-       NamePtr = (PULONG)RVA(BaseAddress, ExportDir->AddressOfNames);
+        (PUSHORT)RVA((char*)BaseAddress, ExportDir->AddressOfNameOrdinals);
+       NamePtr = (PULONG)RVA((char*)BaseAddress, ExportDir->AddressOfNames);
 
        minn = 0; maxn = ExportDir->NumberOfNames;
        while (minn <= maxn)
@@ -189,12 +189,12 @@ LdrGetProcedureAddress (IN PVOID BaseAddress,
            LONG res;
 
            mid = (minn + maxn) / 2;
-           res = _strnicmp(Name->Buffer, (PCH)RVA(BaseAddress, NamePtr[mid]),
+           res = _strnicmp(Name->Buffer, (PCH)RVA((char*)BaseAddress, NamePtr[mid]),
                            Name->Length);
            if (res == 0)
              {
                *ProcedureAddress = 
-                 (PVOID)RVA(BaseAddress, AddressPtr[OrdinalPtr[mid]]);
+                 (PVOID)RVA((char*)BaseAddress, AddressPtr[OrdinalPtr[mid]]);
                return(STATUS_SUCCESS);
              }
            else if (res > 0)
@@ -210,7 +210,7 @@ LdrGetProcedureAddress (IN PVOID BaseAddress,
        for (i = 0; i < ExportDir->NumberOfNames; i++, NamePtr++, OrdinalPtr++)
          {
             if (!_strnicmp(Name->Buffer, 
-                           (char*)(BaseAddress + *NamePtr), Name->Length))
+                           (char*)((char*)BaseAddress + *NamePtr), Name->Length))
               {
                  *ProcedureAddress = 
                    (PVOID)((ULONG)BaseAddress +