(ves_icall_System_Enum_ToObject): and likewise for s1 > s2
authorRadek Doulik <rodo@mono-cvs.ximian.com>
Sun, 17 Feb 2002 00:27:24 +0000 (00:27 -0000)
committerRadek Doulik <rodo@mono-cvs.ximian.com>
Sun, 17 Feb 2002 00:27:24 +0000 (00:27 -0000)
svn path=/trunk/mono/; revision=2455

mono/metadata/ChangeLog
mono/metadata/icall.c

index 4df461d0044aeb78c82617d168ecc560f9357894..08dea7fb289ad7f545c6729b9b7be7ebc79d233d 100644 (file)
@@ -3,6 +3,7 @@
        * icall.c (ves_icall_System_Enum_ToObject): in case of big endian
        and s2 > s1, just copy lower bytes to be compatible with little
        endian (i.e. 64bit value & 0xffffffff --> 32bit value)
+       (ves_icall_System_Enum_ToObject): and likewise for s1 > s2
 
        * unicode.c (ves_icall_iconv_new_encoder): decide on big_endian,
        force big_endian to be 1 for big endian machines 
index ef3373ea33228ccd76d58f9ee037da651e90c198..da6465bb8478cff1c5cb43c4590a8bd20320d86a 100644 (file)
@@ -477,7 +477,8 @@ ves_icall_System_Enum_ToObject (MonoReflectionType *type, MonoObject *obj)
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
        memcpy ((gpointer)res + sizeof (MonoObject), (gpointer)obj + sizeof (MonoObject), MIN (s1, s2));
 #else
-       memcpy ((gpointer)res + sizeof (MonoObject), (gpointer)obj + sizeof (MonoObject) + (s2 > s1 ? s2 - s1 : 0),
+       memcpy ((gpointer)res + sizeof (MonoObject) + (s1 > s2 ? s1 - s2 : 0),
+               (gpointer)obj + sizeof (MonoObject) + (s2 > s1 ? s2 - s1 : 0),
                MIN (s1, s2));
 #endif
        return res;