That doesn't make much sense.
Whats the point of the LOWORD() macro, if not truncating it ?
Fix the macro if its broken.


Am 20.11.2011 20:45, schrieb jgar...@svn.reactos.org:
Author: jgardou
Date: Sun Nov 20 19:45:06 2011
New Revision: 54462

URL: http://svn.reactos.org/svn/reactos?rev=54462&view=rev
Log:
[RTL]
- explicitly truncate some values, so it doesn't count as an error for 
compiler/MSVC runtime checker

Modified:
     trunk/reactos/lib/rtl/image.c

Modified: trunk/reactos/lib/rtl/image.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/image.c?rev=54462&r1=54461&r2=54462&view=diff
==============================================================================
--- trunk/reactos/lib/rtl/image.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/image.c [iso-8859-1] Sun Nov 20 19:45:06 2011
@@ -369,7 +369,7 @@
  {
      SHORT Offset;
      USHORT Type;
-    USHORT i;
+    ULONG i;
      PUSHORT ShortPtr;
      PULONG LongPtr;
      PULONGLONG LongLongPtr;
@@ -379,7 +379,6 @@
          Offset = SWAPW(*TypeOffset)&  0xFFF;
          Type = SWAPW(*TypeOffset)>>  12;
          ShortPtr = (PUSHORT)(RVA(Address, Offset));
-
          /*
          * Don't relocate within the relocation section itself.
          * GCC/LD generates sometimes relocation records for the relocation 
section.
@@ -398,16 +397,16 @@
              break;

          case IMAGE_REL_BASED_HIGH:
-            *ShortPtr = HIWORD(MAKELONG(0, *ShortPtr) + (LONG)Delta);
+            *ShortPtr = HIWORD(MAKELONG(0, *ShortPtr) + (Delta&  0xFFFFFFFF));
              break;

          case IMAGE_REL_BASED_LOW:
-            *ShortPtr = SWAPW(*ShortPtr) + LOWORD(Delta);
+            *ShortPtr = SWAPW(*ShortPtr) + LOWORD(Delta&  0xFFFF);
              break;

          case IMAGE_REL_BASED_HIGHLOW:
              LongPtr = (PULONG)RVA(Address, Offset);
-            *LongPtr = SWAPD(*LongPtr) + (ULONG)Delta;
+            *LongPtr = SWAPD(*LongPtr) + (Delta&  0xFFFFFFFF);
              break;

          case IMAGE_REL_BASED_DIR64:





_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to