mirror of https://github.com/python/cpython
bpo-41123: Remove Py_UNICODE_str* functions (GH-21164)
They are undocumented and deprecated since Python 3.3.
This commit is contained in:
parent
2f168c6356
commit
20a7902175
|
@ -208,4 +208,18 @@ Removed
|
||||||
* ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, ``PyObject_CheckReadBuffer()``,
|
* ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, ``PyObject_CheckReadBuffer()``,
|
||||||
and ``PyObject_AsWriteBuffer()`` are removed. Please migrate to new buffer protocol;
|
and ``PyObject_AsWriteBuffer()`` are removed. Please migrate to new buffer protocol;
|
||||||
:c:func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release`.
|
:c:func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release`.
|
||||||
(Contributed by Inada Naoki in :issue:`41103`.
|
(Contributed by Inada Naoki in :issue:`41103`.)
|
||||||
|
|
||||||
|
* Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings.
|
||||||
|
(Contributed by Inada Naoki in :issue:`41123`.)
|
||||||
|
|
||||||
|
* ``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or
|
||||||
|
:c:macro:`PyUnicode_GET_LENGTH`
|
||||||
|
* ``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or
|
||||||
|
:c:func:`PyUnicode_FromFormat`
|
||||||
|
* ``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use
|
||||||
|
:c:func:`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`
|
||||||
|
* ``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`
|
||||||
|
* ``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`
|
||||||
|
* ``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use
|
||||||
|
:c:func:`PyUnicode_FindChar`
|
||||||
|
|
|
@ -1163,43 +1163,6 @@ PyAPI_FUNC(int) _PyUnicode_IsAlpha(
|
||||||
Py_UCS4 ch /* Unicode character */
|
Py_UCS4 ch /* Unicode character */
|
||||||
);
|
);
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(size_t) Py_UNICODE_strlen(
|
|
||||||
const Py_UNICODE *u
|
|
||||||
);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strcpy(
|
|
||||||
Py_UNICODE *s1,
|
|
||||||
const Py_UNICODE *s2);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strcat(
|
|
||||||
Py_UNICODE *s1, const Py_UNICODE *s2);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strncpy(
|
|
||||||
Py_UNICODE *s1,
|
|
||||||
const Py_UNICODE *s2,
|
|
||||||
size_t n);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(int) Py_UNICODE_strcmp(
|
|
||||||
const Py_UNICODE *s1,
|
|
||||||
const Py_UNICODE *s2
|
|
||||||
);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(int) Py_UNICODE_strncmp(
|
|
||||||
const Py_UNICODE *s1,
|
|
||||||
const Py_UNICODE *s2,
|
|
||||||
size_t n
|
|
||||||
);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strchr(
|
|
||||||
const Py_UNICODE *s,
|
|
||||||
Py_UNICODE c
|
|
||||||
);
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strrchr(
|
|
||||||
const Py_UNICODE *s,
|
|
||||||
Py_UNICODE c
|
|
||||||
);
|
|
||||||
|
|
||||||
PyAPI_FUNC(PyObject*) _PyUnicode_FormatLong(PyObject *, int, int, int);
|
PyAPI_FUNC(PyObject*) _PyUnicode_FormatLong(PyObject *, int, int, int);
|
||||||
|
|
||||||
/* Create a copy of a unicode string ending with a nul character. Return NULL
|
/* Create a copy of a unicode string ending with a nul character. Return NULL
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings.
|
|
@ -15888,94 +15888,6 @@ unicode_iter(PyObject *seq)
|
||||||
return (PyObject *)it;
|
return (PyObject *)it;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t
|
|
||||||
Py_UNICODE_strlen(const Py_UNICODE *u)
|
|
||||||
{
|
|
||||||
return wcslen(u);
|
|
||||||
}
|
|
||||||
|
|
||||||
Py_UNICODE*
|
|
||||||
Py_UNICODE_strcpy(Py_UNICODE *s1, const Py_UNICODE *s2)
|
|
||||||
{
|
|
||||||
Py_UNICODE *u = s1;
|
|
||||||
while ((*u++ = *s2++));
|
|
||||||
return s1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Py_UNICODE*
|
|
||||||
Py_UNICODE_strncpy(Py_UNICODE *s1, const Py_UNICODE *s2, size_t n)
|
|
||||||
{
|
|
||||||
Py_UNICODE *u = s1;
|
|
||||||
while ((*u++ = *s2++))
|
|
||||||
if (n-- == 0)
|
|
||||||
break;
|
|
||||||
return s1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Py_UNICODE*
|
|
||||||
Py_UNICODE_strcat(Py_UNICODE *s1, const Py_UNICODE *s2)
|
|
||||||
{
|
|
||||||
Py_UNICODE *u1 = s1;
|
|
||||||
u1 += wcslen(u1);
|
|
||||||
while ((*u1++ = *s2++));
|
|
||||||
return s1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
Py_UNICODE_strcmp(const Py_UNICODE *s1, const Py_UNICODE *s2)
|
|
||||||
{
|
|
||||||
while (*s1 && *s2 && *s1 == *s2)
|
|
||||||
s1++, s2++;
|
|
||||||
if (*s1 && *s2)
|
|
||||||
return (*s1 < *s2) ? -1 : +1;
|
|
||||||
if (*s1)
|
|
||||||
return 1;
|
|
||||||
if (*s2)
|
|
||||||
return -1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
Py_UNICODE_strncmp(const Py_UNICODE *s1, const Py_UNICODE *s2, size_t n)
|
|
||||||
{
|
|
||||||
Py_UNICODE u1, u2;
|
|
||||||
for (; n != 0; n--) {
|
|
||||||
u1 = *s1;
|
|
||||||
u2 = *s2;
|
|
||||||
if (u1 != u2)
|
|
||||||
return (u1 < u2) ? -1 : +1;
|
|
||||||
if (u1 == '\0')
|
|
||||||
return 0;
|
|
||||||
s1++;
|
|
||||||
s2++;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Py_UNICODE*
|
|
||||||
Py_UNICODE_strchr(const Py_UNICODE *s, Py_UNICODE c)
|
|
||||||
{
|
|
||||||
const Py_UNICODE *p;
|
|
||||||
for (p = s; *p; p++)
|
|
||||||
if (*p == c)
|
|
||||||
return (Py_UNICODE*)p;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Py_UNICODE*
|
|
||||||
Py_UNICODE_strrchr(const Py_UNICODE *s, Py_UNICODE c)
|
|
||||||
{
|
|
||||||
const Py_UNICODE *p;
|
|
||||||
p = s + wcslen(s);
|
|
||||||
while (p != s) {
|
|
||||||
p--;
|
|
||||||
if (*p == c)
|
|
||||||
return (Py_UNICODE*)p;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
Py_UNICODE*
|
Py_UNICODE*
|
||||||
PyUnicode_AsUnicodeCopy(PyObject *unicode)
|
PyUnicode_AsUnicodeCopy(PyObject *unicode)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue