move tuple helper to its own file, and allow the user to redefine fragments through the fragments.i file

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6234 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-09-07 09:26:23 +00:00
commit 4e4d8679f1
5 changed files with 60 additions and 29 deletions

View file

@ -0,0 +1,28 @@
/* Helper function to return tuples */
%fragment("t_output_helper","header") %{
static PyObject* t_output_helper(PyObject* target, PyObject* o) {
PyObject* o2;
PyObject* o3;
if (!target) {
target = o;
} else if (target == Py_None) {
Py_DECREF(Py_None);
target = o;
} else {
o2 = target;
target = PyTuple_New(1);
PyTuple_SetItem(target, 0, o2);
o3 = PyTuple_New(1);
PyTuple_SetItem(o3, 0, o);
o2 = target;
target = PySequence_Concat(o2, o3);
Py_DECREF(o2);
Py_DECREF(o3);
}
return target;
}
%}