Kaydet (Commit) 2aa3af4a authored tarafından Victor Stinner's avatar Victor Stinner

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
üst 1ddd4075
...@@ -36,7 +36,7 @@ the ``es``, ``es#``, ``et`` and ``et#`` formats. ...@@ -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. ...@@ -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 ...@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment