d_layer <dome(a)koganet.ne.jp>
Fix some problems with RtlStoreUlong:
- Store SECONDBYTE of the value correctly.
- Store ULONG value, not ULONG_PTR value.
Modified: trunk/reactos/include/ntos/rtl.h
_____
Modified: trunk/reactos/include/ntos/rtl.h
--- trunk/reactos/include/ntos/rtl.h 2005-01-13 09:41:55 UTC (rev
13026)
+++ trunk/reactos/include/ntos/rtl.h 2005-01-13 12:26:09 UTC (rev
13027)
@@ -2350,13 +2350,13 @@
if ((ULONG_PTR)(Address) & LONG_MASK) \
{ \
((PUCHAR)(Address))[LONG_LEAST_SIGNIFICANT_BIT]=(UCHAR)(FIRSTBYTE(Value)
); \
-
((PUCHAR)(Address))[LONG_3RD_MOST_SIGNIFICANT_BIT]=(UCHAR)(FIRSTBYTE(Val
ue)); \
+
((PUCHAR)(Address))[LONG_3RD_MOST_SIGNIFICANT_BIT]=(UCHAR)(SECONDBYTE(Va
lue)); \
((PUCHAR)(Address))[LONG_2ND_MOST_SIGNIFICANT_BIT]=(UCHAR)(THIRDBYTE(Val
ue)); \
((PUCHAR)(Address))[LONG_MOST_SIGNIFICANT_BIT]=(UCHAR)(FOURTHBYTE(Value)
); \
} \
else \
{ \
- *((PULONG_PTR)(Address))=(ULONG_PTR)(Value); \
+ *((PULONG)(Address))=(ULONG)(Value); \
}
/*