]> granicus.if.org Git - python/commitdiff
#4592: fix embedding example with new C API changes.
authorGeorg Brandl <georg@python.org>
Tue, 9 Dec 2008 23:48:44 +0000 (23:48 +0000)
committerGeorg Brandl <georg@python.org>
Tue, 9 Dec 2008 23:48:44 +0000 (23:48 +0000)
Doc/extending/embedding.rst
Doc/extending/extending.rst

index e5c7da19d9942092f89683940a37bd53b94bbace..5c4fde84644c827653bdee2f842e632fff914522 100644 (file)
@@ -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.
index 851e99f6d62a2b436404b9f44d1032e0171b4568..c05bcfd7d41172e401ae7fdba0ae29873d50c50d 100644 (file)
@@ -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::