Mark _PyUnicode_FindMaxCharAndNumSurrogatePairs() as private
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index ff3d4b6..69f0b8f 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -708,11 +708,14 @@
return -1;
}
-int
-_PyUnicode_FindMaxCharAndNumSurrogatePairs(const wchar_t *begin,
- const wchar_t *end,
- Py_UCS4 *maxchar,
- Py_ssize_t *num_surrogates)
+/* Find the maximum code point and count the number of surrogate pairs so a
+ correct string length can be computed before converting a string to UCS4.
+ This function counts single surrogates as a character and not as a pair.
+
+ Return 0 on success, or -1 on error. */
+static int
+find_maxchar_surrogates(const wchar_t *begin, const wchar_t *end,
+ Py_UCS4 *maxchar, Py_ssize_t *num_surrogates)
{
const wchar_t *iter;
@@ -789,7 +792,7 @@
#endif
end = _PyUnicode_WSTR(unicode) + _PyUnicode_WSTR_LENGTH(unicode);
- if (_PyUnicode_FindMaxCharAndNumSurrogatePairs(_PyUnicode_WSTR(unicode), end,
+ if (find_maxchar_surrogates(_PyUnicode_WSTR(unicode), end,
&maxchar,
&num_surrogates) == -1) {
assert(0 && "PyUnicode_FindMaxCharAndNumSurrogatePairs failed");
@@ -1022,7 +1025,7 @@
/* If not empty and not single character, copy the Unicode data
into the new object */
- if (_PyUnicode_FindMaxCharAndNumSurrogatePairs(u, u + size, &maxchar,
+ if (find_maxchar_surrogates(u, u + size, &maxchar,
&num_surrogates) == -1)
return NULL;