summaryrefslogtreecommitdiffstats
path: root/Doc/extending
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-12-09 23:48:44 (GMT)
committerGeorg Brandl <georg@python.org>2008-12-09 23:48:44 (GMT)
commitacc68cc2b3e167ccc992be2ad616a5de0a04ac6e (patch)
tree3e6685e933b9acffd07c328722cfd84303f60308 /Doc/extending
parenta872787f5fb8fec80a8cb9318154485daafcea7e (diff)
downloadcpython-acc68cc2b3e167ccc992be2ad616a5de0a04ac6e.zip
cpython-acc68cc2b3e167ccc992be2ad616a5de0a04ac6e.tar.gz
cpython-acc68cc2b3e167ccc992be2ad616a5de0a04ac6e.tar.bz2
#4592: fix embedding example with new C API changes.
Diffstat (limited to 'Doc/extending')
-rw-r--r--Doc/extending/embedding.rst10
-rw-r--r--Doc/extending/extending.rst2
2 files changed, 9 insertions, 3 deletions
diff --git a/Doc/extending/embedding.rst b/Doc/extending/embedding.rst
index e5c7da1..5c4fde8 100644
--- a/Doc/extending/embedding.rst
+++ b/Doc/extending/embedding.rst
@@ -223,11 +223,17 @@ Python extension. For example::
NULL, NULL, NULL, NULL
};
+ static PyObject*
+ PyInit_emb(void)
+ {
+ return PyModule_Create(&EmbModule);
+ }
+
Insert the above code just above the :cfunc:`main` function. Also, insert the
-following two statements directly after :cfunc:`Py_Initialize`::
+following two statements before the call to :cfunc:`Py_Initialize`::
numargs = argc;
- PyModule_Create(&EmbModule);
+ PyImport_AppendInittab("emb", &PyInit_emb);
These two lines initialize the ``numargs`` variable, and make the
:func:`emb.numargs` function accessible to the embedded Python interpreter.
diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst
index 851e99f..c05bcfd7 100644
--- a/Doc/extending/extending.rst
+++ b/Doc/extending/extending.rst
@@ -342,7 +342,7 @@ satisfactorily. The init function must return the module object to its caller,
so that it then gets inserted into ``sys.modules``.
When embedding Python, the :cfunc:`PyInit_spam` function is not called
-automatically unless there's an entry in the :cdata:`_PyImport_Inittab` table.
+automatically unless there's an entry in the :cdata:`PyImport_Inittab` table.
To add the module to the initialization table, use :cfunc:`PyImport_AppendInittab`,
optionally followed by an import of the module::