summaryrefslogtreecommitdiffstats
path: root/Doc/ext
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/ext')
-rw-r--r--Doc/ext/embedding.tex21
1 files changed, 9 insertions, 12 deletions
diff --git a/Doc/ext/embedding.tex b/Doc/ext/embedding.tex
index a44b89c..77fd451 100644
--- a/Doc/ext/embedding.tex
+++ b/Doc/ext/embedding.tex
@@ -178,24 +178,21 @@ as its argument, which is constructed using the
\cfunction{PyString_FromString()} data conversion routine.
\begin{verbatim}
- pDict = PyModule_GetDict(pModule);
- /* pDict is a borrowed reference */
-
- pFunc = PyDict_GetItemString(pDict, argv[2]);
- /* pFun is a borrowed reference */
+ pFunc = PyObject_GetAttrString(pModule, argv[2]);
+ /* pFunc is a new reference */
if (pFunc && PyCallable_Check(pFunc)) {
...
}
+ Py_XDECREF(pFunc);
\end{verbatim}
-Once the script is loaded, its dictionary is retrieved with
-\cfunction{PyModule_GetDict()}. The dictionary is then searched using
-the normal dictionary access routines for the function name. If the
-name exists, and the object retunred is callable, you can safely
-assume that it is a function. The program then proceeds by
-constructing a tuple of arguments as normal. The call to the python
-function is then made with:
+Once the script is loaded, the name we're looking for is retrieved
+using \cfunction{PyObject_GetAttrString()}. If the name exists, and
+the object retunred is callable, you can safely assume that it is a
+function. The program then proceeds by constructing a tuple of
+arguments as normal. The call to the Python function is then made
+with:
\begin{verbatim}
pValue = PyObject_CallObject(pFunc, pArgs);