summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2007-08-26 06:45:23 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2007-08-26 06:45:23 (GMT)
commit80e7f27e62353eeaf1f3dcf9f2bfd016b039f4b8 (patch)
tree7b8162711e85ce27ec83157fd7ff987190a5a96b /Objects
parentda059e3585e7ddebc200a1b86bfb7ce230155bf6 (diff)
downloadcpython-80e7f27e62353eeaf1f3dcf9f2bfd016b039f4b8.zip
cpython-80e7f27e62353eeaf1f3dcf9f2bfd016b039f4b8.tar.gz
cpython-80e7f27e62353eeaf1f3dcf9f2bfd016b039f4b8.tar.bz2
Use unicode and remove support for some uses of str8.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/typeobject.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index bdcccf1..9bd9202 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -44,6 +44,7 @@ static int
type_set_name(PyTypeObject *type, PyObject *value, void *context)
{
PyHeapTypeObject* et;
+ char *tp_name;
if (!(type->tp_flags & Py_TPFLAGS_HEAPTYPE)) {
PyErr_Format(PyExc_TypeError,
@@ -61,11 +62,10 @@ type_set_name(PyTypeObject *type, PyObject *value, void *context)
type->tp_name, Py_Type(value)->tp_name);
return -1;
}
- value = _PyUnicode_AsDefaultEncodedString(value, NULL);
- if (value == NULL)
+ tp_name = PyUnicode_AsString(value);
+ if (tp_name == NULL)
return -1;
- if (strlen(PyString_AS_STRING(value))
- != (size_t)PyString_GET_SIZE(value)) {
+ if (strlen(tp_name) != (size_t)PyUnicode_GET_SIZE(value)) {
PyErr_Format(PyExc_ValueError,
"__name__ must not contain null bytes");
return -1;
@@ -78,7 +78,7 @@ type_set_name(PyTypeObject *type, PyObject *value, void *context)
Py_DECREF(et->ht_name);
et->ht_name = value;
- type->tp_name = PyString_AS_STRING(value);
+ type->tp_name = tp_name;
return 0;
}
@@ -1736,7 +1736,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
/* Have slots */
/* Make it into a tuple */
- if (PyString_Check(slots) || PyUnicode_Check(slots))
+ if (PyUnicode_Check(slots))
slots = PyTuple_Pack(1, slots);
else
slots = PySequence_Tuple(slots);
@@ -1875,14 +1875,10 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
type->tp_as_sequence = &et->as_sequence;
type->tp_as_mapping = &et->as_mapping;
type->tp_as_buffer = &et->as_buffer;
- if (PyString_Check(name))
- type->tp_name = PyString_AsString(name);
- else {
- type->tp_name = PyUnicode_AsString(name);
- if (!type->tp_name) {
- Py_DECREF(type);
- return NULL;
- }
+ type->tp_name = PyUnicode_AsString(name);
+ if (!type->tp_name) {
+ Py_DECREF(type);
+ return NULL;
}
/* Set tp_base and tp_bases */