Issue #8939: Improve arg.rst

* Add :ctype: to Py_BEGIN_ALLOW_THREADS and int
 * "s" and "s#" formats of Py_BuildValue(): specify that the Python object type
   is str in the description
This commit is contained in:
Victor Stinner 2010-06-18 23:59:45 +00:00
parent 1ddd4075bf
commit 2aa3af4a16

View file

@ -36,7 +36,7 @@ the ``es``, ``es#``, ``et`` and ``et#`` formats.
However, when a :ctype:`Py_buffer` structure gets filled, the underlying However, when a :ctype:`Py_buffer` structure gets filled, the underlying
buffer is locked so that the caller can subsequently use the buffer even buffer is locked so that the caller can subsequently use the buffer even
inside a ``Py_BEGIN_ALLOW_THREADS`` block without the risk of mutable data inside a :ctype:`Py_BEGIN_ALLOW_THREADS` block without the risk of mutable data
being resized or destroyed. As a result, **you have to call** being resized or destroyed. As a result, **you have to call**
:cfunc:`PyBuffer_Release` after you have finished processing the data (or :cfunc:`PyBuffer_Release` after you have finished processing the data (or
in any early abort case). in any early abort case).
@ -48,9 +48,9 @@ Unless otherwise stated, buffers are not NUL-terminated.
the length argument (int or :ctype:`Py_ssize_t`) is controlled by the length argument (int or :ctype:`Py_ssize_t`) is controlled by
defining the macro :cmacro:`PY_SSIZE_T_CLEAN` before including defining the macro :cmacro:`PY_SSIZE_T_CLEAN` before including
:file:`Python.h`. If the macro was defined, length is a :file:`Python.h`. If the macro was defined, length is a
:ctype:`Py_ssize_t` rather than an int. This behavior will change :ctype:`Py_ssize_t` rather than an :ctype:`int`. This behavior will change
in a future Python version to only support :ctype:`Py_ssize_t` and in a future Python version to only support :ctype:`Py_ssize_t` and
drop int support. It is best to always define :cmacro:`PY_SSIZE_T_CLEAN`. drop :ctype:`int` support. It is best to always define :cmacro:`PY_SSIZE_T_CLEAN`.
``s`` (:class:`str`) [const char \*] ``s`` (:class:`str`) [const char \*]
@ -492,11 +492,11 @@ Building values
strings a tad more readable. strings a tad more readable.
``s`` (:class:`str` or ``None``) [char \*] ``s`` (:class:`str` or ``None``) [char \*]
Convert a null-terminated C string to a Python object using ``'utf-8'`` Convert a null-terminated C string to a Python :class:`str` object using ``'utf-8'``
encoding. If the C string pointer is *NULL*, ``None`` is used. encoding. If the C string pointer is *NULL*, ``None`` is used.
``s#`` (:class:`str` or ``None``) [char \*, int] ``s#`` (:class:`str` or ``None``) [char \*, int]
Convert a C string and its length to a Python object using ``'utf-8'`` Convert a C string and its length to a Python :class:`str` object using ``'utf-8'``
encoding. If the C string pointer is *NULL*, the length is ignored and encoding. If the C string pointer is *NULL*, the length is ignored and
``None`` is returned. ``None`` is returned.