[docs] Small error in the "Extending Python with C" page

Hadrien Titeux hadwarez at gmail.com
Sat Jul 7 14:35:14 CEST 2012


Hello,

I've recenty started to try using C code in python using the wonderful
python API, although i have to say the learning curve was non neglectable :P
I've spotted what I believe to be a small mistake in the documentation
from this page:
http://docs.python.org/release/3.2/extending/extending.html

In paragraph 1.8
(http://docs.python.org/release/3.2/extending/extending.html#keyword-parameters-for-extension-functions),
the code example given contains an error, which is actually obsolete
code from python 2.7:

void
initkeywdarg(void)
{
  /* Create the module and add the functions */
  Py_InitModule("keywdarg", keywdarg_methods);
}


This doesn't work in Python3.2. It's supposed to be

static struct PyModuleDef keywdargmodule = {
   PyModuleDef_HEAD_INIT,
   "keywdarg",   /* name of module */
   keywdarg_doc, /* module documentation, may be NULL */
   -1,       /* size of per-interpreter state of the module,
                or -1 if the module keeps state in global variables. */
   keywdarg_methods
};

PyMODINIT_FUNC
PyInit_keywdarg(void)
{
    return PyModule_Create(&keywdargmodule);
}

As explained above (and confirmed by experience).

Thanks for your work,
Hadrien.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/docs/attachments/20120707/9a9ae4ce/attachment-0001.html>


More information about the docs mailing list