commit 42c3630ff19a27c63909a87507c913122181a689
Author: David Malcolm <dmalcolm(a)redhat.com>
Date: Thu Dec 22 15:16:14 2011 -0500
cpychecker: implement PyEval_CallObjectWithKeywords
libcpychecker/refcounts.py | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/libcpychecker/refcounts.py b/libcpychecker/refcounts.py
index b144ce0..4bb4f7f 100644
--- a/libcpychecker/refcounts.py
+++ b/libcpychecker/refcounts.py
@@ -1276,6 +1276,18 @@ class CPython(Facet):
########################################################################
# PyEval_InitThreads()
########################################################################
+
+ def impl_PyEval_CallObjectWithKeywords(self, stmt, v_func, v_arg, v_kw):
+ fnmeta = FnMeta(name='PyEval_CallObjectWithKeywords',
+ prototype=('PyObject *\n'
+ 'PyEval_CallObjectWithKeywords(PyObject *func,
PyObject *arg, PyObject *kw)'),
+ defined_in='Python/ceval.c')
+ self.state.raise_any_null_ptr_func_arg(stmt, 0, v_func,
+ why='looks up func->ob_type within
inner call to PyObject_Call()')
+ # arg and kw can each be NULL, though
+
+ return self.make_transitions_for_new_ref_or_fail(stmt, fnmeta)
+
def impl_PyEval_InitThreads(self, stmt):
fnmeta = FnMeta(name='PyEval_InitThreads',
docurl='http://docs.python.org/c-api/init.html#PyEval_InitThreads')