Issue #8870: PyUnicode_AsWideCharString() doesn't count the trailing nul character
And write unit tests for PyUnicode_AsWideChar() and PyUnicode_AsWideCharString().
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 50a1254..45c46aa 100644
--- a/Doc/c-api/unicode.rst
+++ b/Doc/c-api/unicode.rst
@@ -466,7 +466,8 @@
Convert the Unicode object to a wide character string. The output string
always ends with a nul character. If *size* is not *NULL*, write the number
- of wide characters (including the nul character) into *\*size*.
+ of wide characters (excluding the trailing 0-termination character) into
+ *\*size*.
Returns a buffer allocated by :cfunc:`PyMem_Alloc` (use :cfunc:`PyMem_Free`
to free it) on success. On error, returns *NULL*, *\*size* is undefined and