From: Victor Stinner Date: Wed, 28 Sep 2011 20:15:37 +0000 (+0200) Subject: Mark _PyUnicode_FindMaxCharAndNumSurrogatePairs() as private X-Git-Tag: v3.3.0a1~1466 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=17222160e7957935c00b5cf845888493b6350b58;p=thirdparty%2FPython%2Fcpython.git Mark _PyUnicode_FindMaxCharAndNumSurrogatePairs() as private --- diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index b57c1e5268cd..0b93276f2c38 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -543,18 +543,6 @@ PyAPI_FUNC(Py_ssize_t) PyUnicode_CopyCharacters( ); #endif -/* 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. */ -#ifndef Py_LIMITED_API -PyAPI_FUNC(int) _PyUnicode_FindMaxCharAndNumSurrogatePairs( - const wchar_t *begin, - const wchar_t *end, - Py_UCS4 *maxchar, - Py_ssize_t *num_surrogates - ); -#endif - /* Create a Unicode Object from the Py_UNICODE buffer u of the given size. diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index ff3d4b6e0a6a..69f0b8fce915 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -708,11 +708,14 @@ PyUnicode_CopyCharacters(PyObject *to, Py_ssize_t to_start, 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 @@ _PyUnicode_Ready(PyUnicodeObject *unicode) #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 @@ PyUnicode_FromUnicode(const Py_UNICODE *u, Py_ssize_t size) /* 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;