Additional %varargs and overloading testing

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12486 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2011-02-19 19:20:37 +00:00
commit 23a5fecc60
2 changed files with 21 additions and 0 deletions

View file

@ -20,3 +20,12 @@ if varargs_overload.vararg_over3("Hello") != "Hello":
if varargs_overload.vararg_over3(2, 2.2, "hey") != "2 2.2 hey":
raise RuntimeError, "Failed"
if varargs_overload.vararg_over4("Hello") != "Hello":
raise RuntimeError, "Failed"
if varargs_overload.vararg_over4(123) != "123":
raise RuntimeError, "Failed"
if varargs_overload.vararg_over4("Hello", 123) != "Hello":
raise RuntimeError, "Failed"

View file

@ -30,3 +30,15 @@ const char *vararg_over3(int i, double j, const char *s) {
return buffer;
}
%}
%varargs(int mode = 0) vararg_over4;
%inline %{
const char *vararg_over4(const char *fmt, ...) {
return fmt;
}
const char *vararg_over4(int i) {
static char buffer[256];
sprintf(buffer, "%d", i);
return buffer;
}
%}