diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index aae2b4abcb1..8f9e994a1fb 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -462,7 +462,7 @@ wchar_t support for platforms which support it: required by the application. -.. c:function:: wchar_t* PyUnicode_AsWideCharString(PyUnicodeObject *unicode, Py_ssize_t *size) +.. c:function:: wchar_t* PyUnicode_AsWideCharString(PyObject *unicode, Py_ssize_t *size) Convert the Unicode object to a wide character string. The output string always ends with a nul character. If *size* is not *NULL*, write the number diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index f206895a105..39a6b2ef655 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -581,7 +581,7 @@ PyAPI_FUNC(Py_ssize_t) PyUnicode_AsWideChar( MemoryError. */ PyAPI_FUNC(wchar_t*) PyUnicode_AsWideCharString( - PyUnicodeObject *unicode, /* Unicode object */ + PyObject *unicode, /* Unicode object */ Py_ssize_t *size /* number of characters of the result */ ); diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c index ce2acb5ac17..737e4c3c712 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -666,7 +666,7 @@ static int ConvParam(PyObject *obj, Py_ssize_t index, struct argument *pa) return 0; #else pa->ffi_type = &ffi_type_pointer; - pa->value.p = PyUnicode_AsWideCharString((PyUnicodeObject *)obj, NULL); + pa->value.p = PyUnicode_AsWideCharString(obj, NULL); if (pa->value.p == NULL) return -1; pa->keep = PyCapsule_New(pa->value.p, CTYPES_CAPSULE_NAME_PYMEM, pymem_destructor); diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c index 072b8c6a0f2..ab293f75bc4 100644 --- a/Modules/_ctypes/cfield.c +++ b/Modules/_ctypes/cfield.c @@ -1434,7 +1434,7 @@ Z_set(void *ptr, PyObject *value, Py_ssize_t size) PyObject *keep; wchar_t *buffer; - buffer = PyUnicode_AsWideCharString((PyUnicodeObject *)value, NULL); + buffer = PyUnicode_AsWideCharString(value, NULL); if (!buffer) { Py_DECREF(value); return NULL; diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 67d16f4163f..1001dd22b76 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -246,10 +246,10 @@ PyLocale_strcoll(PyObject* self, PyObject* args) if (!PyArg_ParseTuple(args, "UU:strcoll", &os1, &os2)) return NULL; /* Convert the unicode strings to wchar[]. */ - ws1 = PyUnicode_AsWideCharString((PyUnicodeObject*)os1, NULL); + ws1 = PyUnicode_AsWideCharString(os1, NULL); if (ws1 == NULL) goto done; - ws2 = PyUnicode_AsWideCharString((PyUnicodeObject*)os2, NULL); + ws2 = PyUnicode_AsWideCharString(os2, NULL); if (ws2 == NULL) goto done; /* Collate the strings. */ diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index 912ba17a22f..473d8052ab8 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -1426,7 +1426,7 @@ unicode_aswidecharstring(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "U", &unicode)) return NULL; - buffer = PyUnicode_AsWideCharString((PyUnicodeObject*)unicode, &size); + buffer = PyUnicode_AsWideCharString(unicode, &size); if (buffer == NULL) return NULL; diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 1a856627db9..5e6cd6c91b4 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -502,7 +502,7 @@ time_strftime(PyObject *self, PyObject *args) buf.tm_isdst = 1; #ifdef HAVE_WCSFTIME - format = PyUnicode_AsWideCharString((PyUnicodeObject*)format_arg, NULL); + format = PyUnicode_AsWideCharString(format_arg, NULL); if (format == NULL) return NULL; fmt = format; diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 3fd22a3097a..37a9070e2ff 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -1275,7 +1275,7 @@ PyUnicode_AsWideChar(PyUnicodeObject *unicode, } wchar_t* -PyUnicode_AsWideCharString(PyUnicodeObject *unicode, +PyUnicode_AsWideCharString(PyObject *unicode, Py_ssize_t *size) { wchar_t* buffer; @@ -1286,7 +1286,7 @@ PyUnicode_AsWideCharString(PyUnicodeObject *unicode, return NULL; } - buflen = unicode_aswidechar(unicode, NULL, 0); + buflen = unicode_aswidechar((PyUnicodeObject *)unicode, NULL, 0); if (PY_SSIZE_T_MAX / sizeof(wchar_t) < buflen) { PyErr_NoMemory(); return NULL; @@ -1297,7 +1297,7 @@ PyUnicode_AsWideCharString(PyUnicodeObject *unicode, PyErr_NoMemory(); return NULL; } - buflen = unicode_aswidechar(unicode, buffer, buflen); + buflen = unicode_aswidechar((PyUnicodeObject *)unicode, buffer, buflen); if (size != NULL) *size = buflen; return buffer; diff --git a/Python/import.c b/Python/import.c index 43c14941508..ab1615cd05b 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1970,7 +1970,7 @@ _Py_fopen(PyObject *unicode, const char *mode) if (usize == 0) return NULL; - path = PyUnicode_AsWideCharString((PyUnicodeObject*)unicode, NULL); + path = PyUnicode_AsWideCharString(unicode, NULL); if (path == NULL) return NULL; f = _wfopen(path, wmode); @@ -2001,7 +2001,7 @@ _Py_stat(PyObject *unicode, struct stat *statbuf) int err; struct _stat wstatbuf; - path = PyUnicode_AsWideCharString((PyUnicodeObject*)unicode, NULL); + path = PyUnicode_AsWideCharString(unicode, NULL); if (path == NULL) return -1; err = _wstat(path, &wstatbuf); @@ -3736,7 +3736,7 @@ NullImporter_init(NullImporter *self, PyObject *args, PyObject *kwds) return -1; } - path = PyUnicode_AsWideCharString((PyUnicodeObject*)pathobj, NULL); + path = PyUnicode_AsWideCharString(pathobj, NULL); if (path == NULL) return -1; /* see issue1293 and issue3677: