Browse Source

Fixed the regression caused by methods always returning null regardless of the return type.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
pull/57/head
Dimitar Dobrev 12 years ago
parent
commit
fddcea0405
  1. 8
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs

8
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -1779,9 +1779,13 @@ namespace CppSharp.Generators.CSharp @@ -1779,9 +1779,13 @@ namespace CppSharp.Generators.CSharp
var isIntPtr = retTypeName.Contains("IntPtr");
if (retType.Type.IsPointer() && isIntPtr)
Type pointee;
if (retType.Type.IsPointerTo(out pointee) && isIntPtr)
{
string @null = retType.Type.IsPrimitiveType(PrimitiveType.IntPtr) ?
PrimitiveType primitive;
string @null = (pointee.Desugar().IsPrimitiveType(out primitive) ||
pointee.Desugar().IsPointer()) &&
!CSharpTypePrinter.IsConstCharString(retType) ?
"IntPtr.Zero" : "null";
WriteLine("if ({0} == global::System.IntPtr.Zero) return {1};",
Generator.GeneratedIdentifier("ret"), @null);

Loading…
Cancel
Save