summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/src/multiarray/descriptor.c34
1 files changed, 4 insertions, 30 deletions
diff --git a/numpy/core/src/multiarray/descriptor.c b/numpy/core/src/multiarray/descriptor.c
index efa53696b..42bdf3199 100644
--- a/numpy/core/src/multiarray/descriptor.c
+++ b/numpy/core/src/multiarray/descriptor.c
@@ -519,10 +519,8 @@ _convert_from_array_descr(PyObject *obj, int align)
|| (title
&& PyBaseString_Check(title)
&& (PyDict_GetItem(fields, title) != NULL))) {
- name = PyUnicode_AsUTF8String(name);
PyErr_Format(PyExc_ValueError,
- "field '%s' occurs more than once", PyString_AsString(name));
- Py_DECREF(name);
+ "field %R occurs more than once", name);
Py_DECREF(conv);
goto fail;
}
@@ -3218,18 +3216,7 @@ static int
_check_has_fields(PyArray_Descr *self)
{
if (!PyDataType_HASFIELDS(self)) {
- PyObject *astr = arraydescr_str(self);
- if (astr == NULL) {
- return -1;
- }
- {
- PyObject *bstr = PyUnicode_AsUnicodeEscapeString(astr);
- Py_DECREF(astr);
- astr = bstr;
- }
- PyErr_Format(PyExc_KeyError,
- "There are no fields in dtype %s.", PyBytes_AsString(astr));
- Py_DECREF(astr);
+ PyErr_Format(PyExc_KeyError, "There are no fields in dtype %S.", self);
return -1;
}
else {
@@ -3241,25 +3228,12 @@ static PyObject *
_subscript_by_name(PyArray_Descr *self, PyObject *op)
{
PyObject *obj = PyDict_GetItem(self->fields, op);
- PyObject *descr;
- PyObject *s;
-
if (obj == NULL) {
- if (PyUnicode_Check(op)) {
- s = PyUnicode_AsUnicodeEscapeString(op);
- }
- else {
- s = op;
- }
-
PyErr_Format(PyExc_KeyError,
- "Field named \'%s\' not found.", PyBytes_AsString(s));
- if (s != op) {
- Py_DECREF(s);
- }
+ "Field named %R not found.", op);
return NULL;
}
- descr = PyTuple_GET_ITEM(obj, 0);
+ PyObject *descr = PyTuple_GET_ITEM(obj, 0);
Py_INCREF(descr);
return descr;
}