This patch was made on python r74276
Often when writing in C/Python I want to append to a list within a C
loop of an unknown length.
When this is done for newly created PyObject (which is quite common) -
you need to assign each item to a variable and then decref it.
eg:
PyObject *item= PyFloat_FromDouble(x);
PyList_Append(list, item);
Py_DECREF(item);
I have seen people make mistakes with this (in pygame code and
blender3d), and run PyList_Append(list, PyFloat_FromDouble(x)),
ofcourse this is not the fault of python/c api that devs do not read
docs properly but I think it would be very convenient to have an append
that works in a similar way to PyList_SET_ITEM
This simple patch allows...
PyList_APPEND(list, PyFloat_FromDouble(x))
doc included. |