diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index fce59135ace..df39c28cc98 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -1815,8 +1815,6 @@ Utility functions termination character. An integer can be passed as second argument which allows to specify the size of the array if the length of the bytes should not be used. - If the first parameter is a string, it is converted into a bytes object - according to ctypes conversion rules. .. function:: create_unicode_buffer(init_or_size, size=None) @@ -1833,8 +1831,6 @@ Utility functions allows to specify the size of the array if the length of the string should not be used. - If the first parameter is a bytes object, it is converted into an unicode string - according to ctypes conversion rules. .. function:: DllCanUnloadNow() diff --git a/Misc/NEWS b/Misc/NEWS index 5e2c47ee044..7005518d121 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -402,6 +402,9 @@ Tests Extension Modules ----------------- +- Issue #13840: The error message produced by ctypes.create_string_buffer + when given a Unicode string has been fixed. + - Issue #9975: socket: Fix incorrect use of flowinfo and scope_id. Patch by Vilmos Nebehaj. diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 8f378e246df..8be5958b0a0 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -1096,7 +1096,7 @@ CharArray_set_value(CDataObject *self, PyObject *value) if (!PyBytes_Check(value)) { PyErr_Format(PyExc_TypeError, - "str/bytes expected instead of %s instance", + "bytes expected instead of %s instance", Py_TYPE(value)->tp_name); return -1; } else