On Fri, Jan 07, 2011 at 04:55:22PM +0100, Robert Jordan wrote: > On 07.01.2011 16:19, Edd Barrett wrote: > > Why is this? Myself and a colleague have spent a number of hours trying > > to work this out. > > Because returning structs by value from functions is problematic > in general. Try to stay away from such signatures if you want > portability.
Hrm, so I can: a) pass a pointer. b) pass the integer alone > > > Changing the function to return the integer within the struct instead of > > the struct itself works as expected, but that is not really what I want. > > > > I am using an amd64 machine on OpenBSD (which uses fastcall by default, > > is this the issue? I know microsoft mono does not support fastcall. > > Having said that, openbsd has working packages of gtk#, for example.) > > GTK avoids returning structs by value. Clever people. > > Or perhaps this is a mono bug... I'm completely stuck at this point. > > Maybe. IIRC, Mono on amd64 doesn't handle correctly structs of > sizeof < 8 as return values. Ouch, if that is correct, that is a nasty bug. Thanks for the help. -- Best Regards Edd Barrett http://www.theunixzoo.co.uk _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
