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]
This is similar to ``s``, but the code fills a :ctype:`Py_buffer` structure
provided by the caller. In this case the Python string may contain embedded
null bytes. Unicode objects pass back a pointer to the default encoded
Like ``s``, but the Python object may also be ``None``, in which case the C
pointer is set to *NULL*.
-``z*`` (string or ``None`` or any buffer compatible object) [Py_buffer*]
+``z*`` (string or ``None`` or any buffer compatible object) [Py_buffer]
This is to ``s*`` as ``z`` is to ``s``.
``z#`` (string or ``None`` or any read buffer compatible object) [const char \*, int]
or use ``w#`` instead. Only single-segment buffer objects are accepted;
:exc:`TypeError` is raised for all others.
-``w*`` (read-write byte-oriented buffer) [Py_buffer \*]
+``w*`` (read-write byte-oriented buffer) [Py_buffer]
This is to ``w`` what ``s*`` is to ``s``.
``w#`` (read-write character buffer) [char \*, int]