Hi All,
I am now writing a python extension, but I confuse with the reference.
PyTuple_SetItem and PyList_SetItem will steal a reference from item. So
PyTuple_SetItem(pTuple, 2, Py_BuildValue("s", "Python"))
PyList_SetItem(pList, i, Py_BuildValue("i", i))
will not cause a memory leak. But
PyList_Insert(pList, 2, Py_BuildValue("s", "inserted"))
PyList_Append(pList, Py_BuildValue("s", "appended"))
PyDict_SetItemString(pDict, "second", Py_BuildValue("f", 3.14f))
will cause a memory leak.
Am I right?
Thanks.