]> granicus.if.org Git - python/commitdiff
Expect unicode in class_name.
authorMartin v. Löwis <martin@v.loewis.de>
Sun, 10 Jun 2007 21:13:34 +0000 (21:13 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sun, 10 Jun 2007 21:13:34 +0000 (21:13 +0000)
Objects/typeobject.c

index ab86f54c54b89ec20eecabb91c4073f8ef187a3a..4fc51a626ab9fc5bd98a9b0207ea1568deb00790 100644 (file)
@@ -1010,7 +1010,7 @@ class_name(PyObject *cls)
        }
        if (name == NULL)
                return NULL;
-       if (!PyString_Check(name)) {
+       if (!PyUnicode_Check(name)) {
                Py_DECREF(name);
                return NULL;
        }
@@ -1032,7 +1032,7 @@ check_duplicates(PyObject *list)
                                o = class_name(o);
                                PyErr_Format(PyExc_TypeError,
                                             "duplicate base class %s",
-                                            o ? PyString_AS_STRING(o) : "?");
+                                            o ? PyUnicode_AsString(o) : "?");
                                Py_XDECREF(o);
                                return -1;
                        }
@@ -1078,7 +1078,7 @@ consistent method resolution\norder (MRO) for bases");
        while (PyDict_Next(set, &i, &k, &v) && (size_t)off < sizeof(buf)) {
                PyObject *name = class_name(k);
                off += PyOS_snprintf(buf + off, sizeof(buf) - off, " %s",
-                                    name ? PyString_AS_STRING(name) : "?");
+                                    name ? PyUnicode_AsString(name) : "?");
                Py_XDECREF(name);
                if (--n && (size_t)(off+1) < sizeof(buf)) {
                        buf[off++] = ',';