// Now get the pointer value from the string and save in dest
- f << tab4 << "if (" << src << ") {\n"
- << tab8 << "if (" << src << " == Py_None) { " << dest << " = NULL; }\n"
- << tab8 << "else if (SWIG_GetPtrObj(" << src << ",(void **) &" << dest << ",";
+ if (t->is_reference)
+ f << tab4 << "if (" << src << ") {\n"
+ << tab8 << "if (SWIG_GetPtrObj(" << src << ",(void **) &" << dest << ",";
+ else
+ f << tab4 << "if (" << src << ") {\n"
+ << tab8 << "if (" << src << " == Py_None) { " << dest << " = NULL; }\n"
+ << tab8 << "else if (SWIG_GetPtrObj(" << src << ",(void **) &" << dest << ",";
// If we're passing a void pointer, we give the pointer conversion a NULL
// pointer, otherwise pass in the expected type.