cppcheck/cfg/python.cfg

255 lines
6.5 KiB
INI

<?xml version="1.0"?>
<def format="2">
<!-- Python C API. see https://docs.python.org/2/c-api/index.html -->
<!-- Those are macros, but it's helpful to declare a function here -->
<function name="Py_INCREF,Py_IncRef,Py_DECREF,Py_DecRef">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- Those are macros, but it's helpful to declare a function here -->
<function name="Py_XINCREF,Py_XDECREF,Py_CLEAR">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<function name="Py_Initialize,Py_Finalize">
<noreturn>false</noreturn>
<returnValue type="void"/>
</function>
<function name="Py_InitializeEx">
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-bool/>
<not-uninit/>
</arg>
</function>
<function name="Py_IsInitialized">
<noreturn>false</noreturn>
<pure/>
<returnValue type="int"/>
<use-retval/>
</function>
<function name="Py_Main">
<leak-ignore/>
<returnValue type="int"/>
<arg nr="1">
<not-uninit/>
<valid>0:</valid>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<function name="Py_SetProgramName,Py_SetPythonHome">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-null/>
<not-uninit/>
<strz/>
</arg>
</function>
<!-- void PyErr_Clear() -->
<function name="PyErr_Clear">
<noreturn>false</noreturn>
<returnValue type="void"/>
</function>
<!-- PyObject* PyErr_Format(PyObject *exception, const char *format, ...) -->
<function name="PyErr_Format">
<noreturn>false</noreturn>
<returnValue type="PyObject*">NULL</returnValue>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2" direction="in">
<not-uninit/>
<strz/>
</arg>
<arg nr="variadic" direction="in">
<not-uninit/>
</arg>
</function>
<!-- PyObject* PyErr_FormatV(PyObject *exception, const char *format, va_list vargs) -->
<function name="PyErr_FormatV">
<noreturn>false</noreturn>
<returnValue type="PyObject*">NULL</returnValue>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2" direction="in">
<not-uninit/>
<strz/>
</arg>
<arg nr="3" direction="in">
<not-uninit/>
</arg>
</function>
<!-- PyObject* PyErr_NewException(const char *name, PyObject *base, PyObject *dict) -->
<function name="PyErr_NewException">
<noreturn>false</noreturn>
<returnValue type="PyObject*"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
<strz/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- PyObject* PyErr_NewExceptionWithDoc(const char *name, const char *doc, PyObject *base, PyObject *dict) -->
<function name="PyErr_NewExceptionWithDoc">
<noreturn>false</noreturn>
<returnValue type="PyObject*"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
<strz/>
</arg>
<arg nr="2" direction="in">
<not-uninit/>
<strz/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- PyObject* PyErr_SetFromErrno(PyObject *type) -->
<function name="PyErr_SetFromErrno">
<noreturn>false</noreturn>
<returnValue type="PyObject*">NULL</returnValue>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- void PyErr_SetObject(PyObject *type, PyObject *value) -->
<function name="PyErr_SetObject">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- void PyErr_SetString(PyObject *type, const char *message) -->
<function name="PyErr_SetString">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2" direction="in">
<strz/>
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="Py_GetProgramName,Py_GetExecPrefix,Py_GetProgramFullPath,Py_GetPath,Py_GetPythonHome">
<noreturn>false</noreturn>
<returnValue type="char *"/>
<pure/>
<use-retval/>
</function>
<function name="Py_GetVersion,Py_GetPlatform,Py_GetCopyright,Py_GetCompiler,Py_GetBuildInfo">
<noreturn>false</noreturn>
<returnValue type="const char *"/>
<pure/>
<use-retval/>
</function>
<!-- https://docs.python.org/2.0/ext/parseTuple.html
PyObject *Py_BuildValue(char *format, ...); -->
<function name="Py_BuildValue">
<returnValue type="PyObject *"/>
<noreturn>false</noreturn>
<leak-ignore/>
<use-retval/>
<arg nr="1">
<not-uninit/>
<formatstr/>
</arg>
<arg nr="2"/>
</function>
<!-- https://docs.python.org/2.0/ext/parseTuple.html
int PyArg_ParseTuple(PyObject *arg, char *format, ...); -->
<function name="PyArg_ParseTuple">
<returnValue type="int"/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
<formatstr/>
</arg>
<arg nr="3"/>
</function>
<function name="PyArg_VaParse">
<returnValue type="int"/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int PyInt_Check(PyObject *o) -->
<function name="PyInt_Check">
<returnValue type="int"/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-bool/>
<not-uninit/>
</arg>
</function>
<!-- PyObject* PyInt_FromLong(long ival) -->
<function name="PyInt_FromLong">
<returnValue type="PyObject *"/>
<noreturn>false</noreturn>
<arg nr="1">
<not-bool/>
<not-uninit/>
</arg>
</function>
<!-- Deprecated DL_IMPORT and DL_EXPORT macros -->
<define name="DL_IMPORT(RTYPE)" value="RTYPE"/>
<define name="DL_EXPORT(RTYPE)" value="RTYPE"/>
<define name="Py_BEGIN_ALLOW_THREADS" value=""/>
<define name="Py_END_ALLOW_THREADS" value=""/>
<define name="Py_BLOCK_THREADS" value=""/>
<define name="Py_UNBLOCK_THREADS" value=""/>
</def>