https://bugzilla.novell.com/show_bug.cgi?id=647267
https://bugzilla.novell.com/show_bug.cgi?id=647267#c0 Summary: Wrong Size of a Struct with Marshal Sizeof Classification: Mono Product: Mono: Class Libraries Version: 1.2.0 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: CORLIB AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3 i use the following struct: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] private struct FieldDescriptor { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)] public string fieldName; public char fieldType; //turn this to byte, then it works public Int32 address; public byte fieldLen; public byte count; public Int16 reserved1; public byte workArea; public Int16 reserved2; public byte flag; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)] public byte[] reserved3; public byte indexFlag; } #endregion and this code to read it: buffer = br.ReadBytes(Marshal.SizeOf(typeof(FieldDescriptor))); with dotnet framework the buffer is 32 bytes, with mono it's 33! when i turn the char to a byte, than it works! Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
