]> granicus.if.org Git - python/commitdiff
PyUnicode_AsWideCharString() takes a PyObject*, not a PyUnicodeObject*
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 7 Oct 2010 01:02:42 +0000 (01:02 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 7 Oct 2010 01:02:42 +0000 (01:02 +0000)
All unicode functions uses PyObject* except PyUnicode_AsWideChar(). Fix the
prototype for the new function PyUnicode_AsWideCharString().

Doc/c-api/unicode.rst
Include/unicodeobject.h
Modules/_ctypes/callproc.c
Modules/_ctypes/cfield.c
Modules/_localemodule.c
Modules/_testcapimodule.c
Modules/timemodule.c
Objects/unicodeobject.c
Python/import.c

index aae2b4abcb1487bf0e34337eb497389cef02e6bc..8f9e994a1fbe33047a5b3ce5f5c43b991f50b4c3 100644 (file)
@@ -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
index f206895a10594bac1ef64c7412797a4e3d50ee9d..39a6b2ef6557330455e363d3e59114f269e1e5ea 100644 (file)
@@ -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 */
     );
 
index ce2acb5ac17c6f915545539598e9a77ae236af0f..737e4c3c712961fce93187d268b4c7f364158438 100644 (file)
@@ -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);
index 072b8c6a0f2b61cc89e7f6f21189e8c039366a42..ab293f75bc42dd3b506542a92fbdf126bf938f74 100644 (file)
@@ -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;
index 67d16f4163fac2676dad18e09567cd4f85366578..1001dd22b764c490d9b4cbc48efc01dd27a0220b 100644 (file)
@@ -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. */
index 912ba17a22f4103ea62142d289e61738995d58e7..473d8052ab8ccb547976d0f4b1b4971411d3579b 100644 (file)
@@ -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;
 
index 1a856627db92f1fb84fa1ae08ec792ac19f72967..5e6cd6c91b42717964f5f822b3c3e4476a9e38e8 100644 (file)
@@ -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;
index 3fd22a3097a331a1571f4e2c0b4a96db53ee712d..37a9070e2ff4022ced90a274c0dad4cebed85ddf 100644 (file)
@@ -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;
index 43c149415086c6d06b92ac895482dc4d60b5737a..ab1615cd05b37c6eb0665c8cccbd1509a67654c6 100644 (file)
@@ -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: