2012-03-27 16 views
1

PyArg_ParseTupleからPyObject *を取得した場合、関数から復帰する前にPy_DECREFにする必要がありますか?Python Cモジュール関数の引数の参照カウント

例:

static PyObject * modulefunc(PyObject * self, PyObject * args) { 
    PyObject * obj; 
    if (!PyArg_ParseTuple(args, "O", &obj)) { 
     return NULL; 
    } 

    if (!PyObject_TypeCheck(obj, expected_type_ptr)) { 
     // Do I need to Py_DECREF(obj) here? 
     PyErr_SetString(PyExc_TypeError, "First argument is not expected type."); 
     return NULL; 
    } 

    // ... rest of function implementation. 
} 

答えて

関連する問題