1 %module default_arg_values 2 3 %{ 4 struct Display { 5 // Some compilers warn about 'float v = NULL', so only SWIG sees this peculiarity 6 // Bad Python wrappers were being generated when NULL used for primitive type 7 float draw1(float v = 0) { return v; } 8 float draw2(float *v = 0) { return v ? *v : 0; } 9 bool bool0(bool x = 0) { return x; } 10 bool bool1(bool x = 1) { return x; } 11 12 typedef bool mybool; 13 bool mybool0(mybool x = 0) { return x; } 14 bool mybool1(mybool x = 1) { return x; } 15 }; createPtr(float v)16float* createPtr(float v) { static float val; val = v; return &val; } 17 %} 18 19 struct Display { 20 // Bad Python wrappers were being generated when NULL used for primitive type 21 float draw1(float v = NULL) { return v; } 22 float draw2(float *v = NULL) { return v ? *v : 0; } 23 bool bool0(bool x = 0) { return x; } 24 bool bool1(bool x = 1) { return x; } 25 26 typedef bool mybool; 27 bool mybool0(mybool x = 0) { return x; } 28 bool mybool1(mybool x = 1) { return x; } 29 }; createPtr(float v)30float* createPtr(float v) { static float val; val = v; return &val; } 31