Few C typemaps fixes (still using experimental approach).

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10658 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Maciej Drwal 2008-07-11 16:12:14 +00:00
commit 542c21b6fe
7 changed files with 84 additions and 41 deletions

View file

@ -3,15 +3,18 @@
#include "c_arguments/c_arguments_proxy.h"
int main(int argc, char **argv) {
A* a = new_A();
if (A_foo(a, 0) != 1)
fprintf(stderr, "call to A_foo() failed\n");
A *a = new_A();
A *a1, *a2, *a3;
a1 = foo_1(a);
a2 = foo_2(a);
a3 = foo_3(a);
delete_A(a);
int ***array = (int ***) 0;
foo_1(array);
delete_A(a1);
delete_A(a2);
delete_A(a3);
return 0;
}

View file

@ -4,17 +4,20 @@
class A {
public:
A() {}
int foo(int i) {
return i+1;
}
A() : i(0) {}
int i;
};
void foo(A a, A &ra, A *pa, char c, char *str, char **pstr, char ***ppstri) {
A foo_1(A *a) {
return *a;
}
void foo_1(int ***a) {
A * foo_2(A *a) {
return a;
}
A & foo_3(A *a) {
return *a;
}
%}