You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.6 KiB
47 lines
1.6 KiB
13 years ago
|
Index: Source/Swig/stype.c
|
||
|
===================================================================
|
||
|
--- Source/Swig/stype.c (Revision 12813)
|
||
|
+++ Source/Swig/stype.c (Revision 12814)
|
||
|
@@ -823,7 +823,8 @@
|
||
|
Insert(result, 0, "(");
|
||
|
Append(result, ")");
|
||
|
}
|
||
|
- isreference = 1;
|
||
|
+ if (!isfunction)
|
||
|
+ isreference = 1;
|
||
|
} else if (SwigType_isarray(element)) {
|
||
|
DOH *size;
|
||
|
if (firstarray && !isreference) {
|
||
|
@@ -869,10 +870,8 @@
|
||
|
cast = NewStringf("(%s)", result);
|
||
|
}
|
||
|
if (name) {
|
||
|
- if (!isfunction) {
|
||
|
- if (isreference) {
|
||
|
- Append(cast, "*");
|
||
|
- }
|
||
|
+ if (isreference) {
|
||
|
+ Append(cast, "*");
|
||
|
}
|
||
|
Append(cast, name);
|
||
|
}
|
||
|
Index: Examples/test-suite/funcptr_cpp.i
|
||
|
===================================================================
|
||
|
--- Examples/test-suite/funcptr_cpp.i (Revision 12813)
|
||
|
+++ Examples/test-suite/funcptr_cpp.i (Revision 12814)
|
||
|
@@ -20,3 +20,14 @@
|
||
|
%constant int (*ADD_BY_VALUE)(const int &, int) = addByValue;
|
||
|
%constant int * (*ADD_BY_POINTER)(const int &, int) = addByPointer;
|
||
|
%constant int & (*ADD_BY_REFERENCE)(const int &, int) = addByReference;
|
||
|
+
|
||
|
+
|
||
|
+%inline %{
|
||
|
+typedef int AddByValueTypedef(const int &a, int b);
|
||
|
+typedef int * AddByPointerTypedef(const int &a, int b);
|
||
|
+typedef int & AddByReferenceTypedef(const int &a, int b);
|
||
|
+void *typedef_call1(AddByValueTypedef *& precallback, AddByValueTypedef * postcallback) { return 0; }
|
||
|
+void *typedef_call2(AddByPointerTypedef *& precallback, AddByPointerTypedef * postcallback) { return 0; }
|
||
|
+void *typedef_call3(AddByReferenceTypedef *& precallback, AddByReferenceTypedef * postcallback) { return 0; }
|
||
|
+%}
|
||
|
+
|