summaryrefslogtreecommitdiffstats
path: root/Doc/extending/extending.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/extending/extending.rst')
-rw-r--r--Doc/extending/extending.rst11
1 files changed, 4 insertions, 7 deletions
diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst
index 1d40649..c4ced1a 100644
--- a/Doc/extending/extending.rst
+++ b/Doc/extending/extending.rst
@@ -81,7 +81,7 @@ shortly how it ends up being called)::
if (!PyArg_ParseTuple(args, "s", &command))
return NULL;
sts = system(command);
- return Py_BuildValue("i", sts);
+ return PyLong_FromLong(sts);
}
There is a straightforward translation from the argument list in Python (for
@@ -274,12 +274,9 @@ the string we just got from :c:func:`PyArg_ParseTuple`::
sts = system(command);
Our :func:`spam.system` function must return the value of :c:data:`sts` as a
-Python object. This is done using the function :c:func:`Py_BuildValue`, which is
-something like the inverse of :c:func:`PyArg_ParseTuple`: it takes a format
-string and an arbitrary number of C values, and returns a new Python object.
-More info on :c:func:`Py_BuildValue` is given later. ::
+Python object. This is done using the function :c:func:`PyLong_FromLong`. ::
- return Py_BuildValue("i", sts);
+ return PyLong_FromLong(sts);
In this case, it will return an integer object. (Yes, even integers are objects
on the heap in Python!)
@@ -1195,7 +1192,7 @@ The function :c:func:`spam_system` is modified in a trivial way::
if (!PyArg_ParseTuple(args, "s", &command))
return NULL;
sts = PySpam_System(command);
- return Py_BuildValue("i", sts);
+ return PyLong_FromLong(sts);
}
In the beginning of the module, right after the line ::