Kaydet (Commit) b07bd10c authored tarafından Gregory P. Smith's avatar Gregory P. Smith

Document PY_SSIZE_T_CLEAN for PyArg_ParseTuple.

üst 0b9999c0
...@@ -32,7 +32,7 @@ variable(s) whose address should be passed. ...@@ -32,7 +32,7 @@ variable(s) whose address should be passed.
converted to C strings using the default encoding. If this conversion fails, a converted to C strings using the default encoding. If this conversion fails, a
:exc:`UnicodeError` is raised. :exc:`UnicodeError` is raised.
``s#`` (string, Unicode or any read buffer compatible object) [const char \*, int] ``s#`` (string, Unicode or any read buffer compatible object) [const char \*, int (or :ctype:`Py_ssize_t`, see below)]
This variant on ``s`` stores into two C variables, the first one a pointer to a This variant on ``s`` stores into two C variables, the first one a pointer to a
character string, the second one its length. In this case the Python string may character string, the second one its length. In this case the Python string may
contain embedded null bytes. Unicode objects pass back a pointer to the default contain embedded null bytes. Unicode objects pass back a pointer to the default
...@@ -40,6 +40,11 @@ variable(s) whose address should be passed. ...@@ -40,6 +40,11 @@ variable(s) whose address should be passed.
other read-buffer compatible objects pass back a reference to the raw internal other read-buffer compatible objects pass back a reference to the raw internal
data representation. data representation.
Starting with Python 2.5 the type of the length argument can be
controlled by defining the macro :cmacro:`PY_SSIZE_T_CLEAN` before
including :file:`Python.h`. If the macro is defined, length is a
:ctype:`Py_ssize_t` rather than an int.
``s*`` (string, Unicode, or any buffer compatible object) [Py_buffer \*] ``s*`` (string, Unicode, or any buffer compatible object) [Py_buffer \*]
Similar to ``s#``, this code fills a Py_buffer structure provided by the caller. Similar to ``s#``, this code fills a Py_buffer structure provided by the caller.
The buffer gets locked, so that the caller can subsequently use the buffer even The buffer gets locked, so that the caller can subsequently use the buffer even
......
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