rendered paste bodyIndex: testlibrary/NativeMarshalTests.cs
===================================================================
--- testlibrary/NativeMarshalTests.cs (revision 60746)
+++ testlibrary/NativeMarshalTests.cs (working copy)
@@ -6,8 +6,8 @@
public NativeMarshalTests () {}
- public bool InvokeCompare (int cmpvalue, object target) {
- return (bool)target.GetType ().InvokeMember ("compareInteger", BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, target, new object[] {cmpvalue});
+ public int InvokeCompare (int cmpvalue, object target) {
+ return (int)target.GetType ().InvokeMember ("compareInteger", BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, target, new object[] {cmpvalue});
}
}
}
Index: marshalling.m
===================================================================
--- marshalling.m (revision 60746)
+++ marshalling.m (working copy)
@@ -9,9 +9,9 @@
myint = toset;
}
-- (bool) compareInteger: (int) tocompare
+- (int) compareInteger: (int) tocompare
{
- return (tocompare == myint);
+ return (tocompare == myint ? 1 : 0);
}
@end
@@ -33,8 +33,11 @@
id tester = [NativeMarshalTests init];
- if ([tester InvokeCompareWithInt32:-1 Object:native] == FALSE)
- return 2;
+ if (*((int *)[tester InvokeCompareWithInt32:-1 Object:native]) == 0)
+ return 2;
+
+ if (*((int *)[tester InvokeCompareWithInt32:1 Object:native]) == 1)
+ return 3;
return 0;
} @catch (NSException *ex) {