diff options
author | Gregory P. Smith <greg@mad-scientist.com> | 2008-11-24 00:42:44 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@mad-scientist.com> | 2008-11-24 00:42:44 (GMT) |
commit | d8ab1e4751132a4bd0cf1029ad92a51b028cd6cc (patch) | |
tree | 560b740bd4f10d7252edb429ab0f38fbebe2079f /Doc/c-api | |
parent | b8babfb696e1d219a6367d45c6d25444022486fd (diff) | |
download | cpython-d8ab1e4751132a4bd0cf1029ad92a51b028cd6cc.zip cpython-d8ab1e4751132a4bd0cf1029ad92a51b028cd6cc.tar.gz cpython-d8ab1e4751132a4bd0cf1029ad92a51b028cd6cc.tar.bz2 |
merge in r67362 documentation update to document PY_SSIZE_T_CLEAN
Diffstat (limited to 'Doc/c-api')
-rw-r--r-- | Doc/c-api/arg.rst | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst index 1ea9e9a..2525438 100644 --- a/Doc/c-api/arg.rst +++ b/Doc/c-api/arg.rst @@ -32,7 +32,7 @@ variable(s) whose address should be passed. converted to C strings using the default encoding. If this conversion fails, a :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 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 @@ -40,6 +40,11 @@ variable(s) whose address should be passed. other read-buffer compatible objects pass back a reference to the raw internal 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 \*] 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 |