diff Objects/typeobject.c @ 59858:9714f8a77b16 3.1

Merged revisions 78875 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r78875 | victor.stinner | 2010-03-12 18:00:41 +0100 (ven., 12 mars 2010) | 5 lines Issue #6697: use %U format instead of _PyUnicode_AsString(), because _PyUnicode_AsString() was not checked for error (NULL). The unicode string is no more truncated to 200 or 400 *bytes*. ........
author Victor Stinner <victor.stinner@haypocalc.com>
date Sun, 21 Mar 2010 21:05:53 +0000
parents 59cf5f808c24
children f197407bdba2
line wrap: on
line diff
--- a/Objects/typeobject.c	Sun Mar 21 20:41:54 2010 +0000
+++ b/Objects/typeobject.c	Sun Mar 21 21:05:53 2010 +0000
@@ -1295,10 +1295,15 @@
 		for (j = i + 1; j < n; j++) {
 			if (PyList_GET_ITEM(list, j) == o) {
 				o = class_name(o);
-				PyErr_Format(PyExc_TypeError,
-					     "duplicate base class %.400s",
-					     o ? _PyUnicode_AsString(o) : "?");
-				Py_XDECREF(o);
+				if (o != NULL) {
+					PyErr_Format(PyExc_TypeError,
+						     "duplicate base class %U",
+						     o);
+					Py_DECREF(o);
+				} else {
+					PyErr_SetString(PyExc_TypeError,
+						     "duplicate base class");
+				}
 				return -1;
 			}
 		}