diff options
Diffstat (limited to 'Doc/extending/extending.rst')
-rw-r--r-- | Doc/extending/extending.rst | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst index 8c2268e..8e45384 100644 --- a/Doc/extending/extending.rst +++ b/Doc/extending/extending.rst @@ -471,7 +471,7 @@ Later, when it is time to call the function, you call the C function :cfunc:`PyEval_CallObject`. This function has two arguments, both pointers to arbitrary Python objects: the Python function, and the argument list. The argument list must always be a tuple object, whose length is the number of -arguments. To call the Python function with no arguments, pass in NULL, or +arguments. To call the Python function with no arguments, pass in NULL, or an empty tuple; to call it with one argument, pass a singleton tuple. :cfunc:`Py_BuildValue` returns a tuple when its format string consists of zero or more format codes between parentheses. For example:: @@ -510,7 +510,7 @@ If this is not possible or desirable, the exception should be cleared by calling if (result == NULL) return NULL; /* Pass error back */ ...use result... - Py_DECREF(result); + Py_DECREF(result); Depending on the desired interface to the Python callback function, you may also have to provide an argument list to :cfunc:`PyEval_CallObject`. In some cases @@ -535,7 +535,7 @@ Note the placement of ``Py_DECREF(arglist)`` immediately after the call, before the error check! Also note that strictly speaking this code is not complete: :cfunc:`Py_BuildValue` may run out of memory, and this should be checked. -You may also call a function with keyword arguments by using +You may also call a function with keyword arguments by using :cfunc:`PyEval_CallObjectWithKeywords`. As in the above example, we use :cfunc:`Py_BuildValue` to construct the dictionary. :: @@ -671,7 +671,7 @@ Philbrick (philbrick@hks.com):: static PyObject * keywdarg_parrot(PyObject *self, PyObject *args, PyObject *keywds) - { + { int voltage; char *state = "a stiff"; char *action = "voom"; @@ -679,11 +679,11 @@ Philbrick (philbrick@hks.com):: static char *kwlist[] = {"voltage", "state", "action", "type", NULL}; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "i|sss", kwlist, + if (!PyArg_ParseTupleAndKeywords(args, keywds, "i|sss", kwlist, &voltage, &state, &action, &type)) - return NULL; + return NULL; - printf("-- This parrot wouldn't %s if you put %i Volts through it.\n", + printf("-- This parrot wouldn't %s if you put %i Volts through it.\n", action, voltage); printf("-- Lovely plumage, the %s -- It's %s!\n", type, state); |