Skip to content

Commit

Permalink
Use PyLong_FromLong where appropriate.
Browse files Browse the repository at this point in the history
  • Loading branch information
birkenfeld committed Nov 26, 2010
1 parent 8449932 commit c877a7c
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Doc/extending/embedding.rst
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ Python extension. For example::
{
if(!PyArg_ParseTuple(args, ":numargs"))
return NULL;
return Py_BuildValue("i", numargs);
return PyLong_FromLong(numargs);
}

static PyMethodDef EmbMethods[] = {
Expand Down
11 changes: 4 additions & 7 deletions Doc/extending/extending.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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!)
Expand Down Expand Up @@ -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 ::
Expand Down

0 comments on commit c877a7c

Please sign in to comment.