Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=79117

--- shadow/79117        2006-08-23 08:57:54.000000000 -0400
+++ shadow/79117.tmp.19599      2006-08-23 11:20:37.000000000 -0400
@@ -173,6 +173,51 @@
 ------- Additional Comments From [EMAIL PROTECTED]  2006-08-23 08:57 -------
 Small correction, mono_lookup_pinvoke_call only uses the mangled name 
 first if charset is PINVOKE_ATTRIBUTE_CHAR_SET_AUTO and the platform 
 is WIN32. This is still wrong of course.
 
 
+
+------- Additional Comments From [EMAIL PROTECTED]  2006-08-23 11:20 -------
+Gert, if you'd look at the attached patch, you'll see that
+it already addresses both PtrToString*/StringToHGlobal* :-)
+
+SystemDefaultCharSize is a constant by now.
+
+Maybe something like that:
+
+
+Index: System.Runtime.InteropServices/Marshal.cs
+===================================================================
+--- System.Runtime.InteropServices/Marshal.cs  (revision 61596)
++++ System.Runtime.InteropServices/Marshal.cs  (working copy)
+@@ -54,6 +54,11 @@
+               public static readonly int SystemMaxDBCSCharSize = 2; // don't 
know
+what this is
+               public static readonly int SystemDefaultCharSize = 2;
+ 
++              static Marshal ()
++              {
++                      SystemDefaultCharSize = Environment.OSVersion.Platform 
==
+PlatformID.Win32NT ? 2 : 1;
++              }
++
+ #if !NET_2_0
+               private Marshal () {}
+ #endif
+
+
+
+> Also, when the charset is set to 
+> PINVOKE_ATTRIBUTE_CHAR_SET_AUTO, it should use the character size of 
+> the system (1 or 2) to determine whether to look for the ANSI ("A") 
+> or Unicode ("W") function. Right now, the unicode function is always 
+> used on WIN32, and the ANSI one on all other platforms. 
+
+This is not a bug, because Mono doesn't run on Win9x/ME,
+and, if it would do, the unicode emulation layer must
+be used anyway, which leads to a SystemDefaultCharSize = 2
+again.
+
+
+BTW, all patches assume that Mono doesn't run on Win9x/ME.
+
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to