From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 1 Mar 2021 02:20:08 +0000 (-0800) Subject: closes bpo-43266: Improve array formatting. (GH-24573) (GH-24585) X-Git-Tag: v3.8.9~52 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4ebd637dde7d7e56b18926d2a70657abcac73df0;p=thirdparty%2FPython%2Fcpython.git closes bpo-43266: Improve array formatting. (GH-24573) (GH-24585) (cherry picked from commit 2d3e463e4a5aa109d1c15c86f9631580f5ef7a7e) Co-authored-by: Erlend Egeberg Aasland Co-authored-by: Erlend Egeberg Aasland --- diff --git a/Doc/c-api/conversion.rst b/Doc/c-api/conversion.rst index ee76accae62b..0cc836b70a01 100644 --- a/Doc/c-api/conversion.rst +++ b/Doc/c-api/conversion.rst @@ -25,7 +25,7 @@ functions :c:func:`snprintf` and :c:func:`vsnprintf`. Their purpose is to guarantee consistent behavior in corner cases, which the Standard C functions do not. -The wrappers ensure that *str*[*size*-1] is always ``'\0'`` upon return. They +The wrappers ensure that ``str[size-1]`` is always ``'\0'`` upon return. They never write more than *size* bytes (including the trailing ``'\0'``) into str. Both functions require that ``str != NULL``, ``size > 0`` and ``format != NULL``. @@ -38,13 +38,13 @@ The return value (*rv*) for these functions should be interpreted as follows: * When ``0 <= rv < size``, the output conversion was successful and *rv* characters were written to *str* (excluding the trailing ``'\0'`` byte at - *str*[*rv*]). + ``str[rv]``). * When ``rv >= size``, the output conversion was truncated and a buffer with - ``rv + 1`` bytes would have been needed to succeed. *str*[*size*-1] is ``'\0'`` + ``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is ``'\0'`` in this case. -* When ``rv < 0``, "something bad happened." *str*[*size*-1] is ``'\0'`` in +* When ``rv < 0``, "something bad happened." ``str[size-1]`` is ``'\0'`` in this case too, but the rest of *str* is undefined. The exact cause of the error depends on the underlying platform.