summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/whatsnew/3.10.rst16
-rw-r--r--Include/cpython/unicodeobject.h37
-rw-r--r--Misc/NEWS.d/next/C API/2020-06-26-13-29-25.bpo-41123.bRa1oy.rst1
-rw-r--r--Objects/unicodeobject.c88
4 files changed, 16 insertions, 126 deletions
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index 060d5de..51e42ec 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -208,4 +208,18 @@ Removed
* ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, ``PyObject_CheckReadBuffer()``,
and ``PyObject_AsWriteBuffer()`` are removed. Please migrate to new buffer protocol;
: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`
diff --git a/Include/cpython/unicodeobject.h b/Include/cpython/unicodeobject.h
index 7e53ccc..bcf9984 100644
--- a/Include/cpython/unicodeobject.h
+++ b/Include/cpython/unicodeobject.h
@@ -1163,43 +1163,6 @@ PyAPI_FUNC(int) _PyUnicode_IsAlpha(
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);
/* Create a copy of a unicode string ending with a nul character. Return NULL
diff --git a/Misc/NEWS.d/next/C API/2020-06-26-13-29-25.bpo-41123.bRa1oy.rst b/Misc/NEWS.d/next/C API/2020-06-26-13-29-25.bpo-41123.bRa1oy.rst
new file mode 100644
index 0000000..1261a87
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2020-06-26-13-29-25.bpo-41123.bRa1oy.rst
@@ -0,0 +1 @@
+Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 55c8867..dc0f525 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -15888,94 +15888,6 @@ unicode_iter(PyObject *seq)
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*
PyUnicode_AsUnicodeCopy(PyObject *unicode)
{