[Python-Dev] PyUnicode_FromEncodedObject
David Abrahams
dave at boost-consulting.com
Thu Sep 11 16:11:54 EDT 2003
I'd post a SF bug but it keeps insisting I log in, even after I have
already.
There's a bug, either in the code or docs for
PyUnicode_FromEncodedObject. The docs read:
"Unicode objects are passed back as-is with incremented
refcount. Note: These cannot be decoded; passing a non-NULL value
for encoding will result in a TypeError."
'tain't so; the following shows that the error is unconditional.
if (obj == NULL) {
PyErr_BadInternalCall();
return NULL;
}
#if 0
/* For b/w compatibility we also accept Unicode objects provided
that no encodings is given and then redirect to
PyObject_Unicode() which then applies the additional logic for
Unicode subclasses.
NOTE: This API should really only be used for object which
represent *encoded* Unicode !
*/
if (PyUnicode_Check(obj)) {
if (encoding) {
PyErr_SetString(PyExc_TypeError,
"decoding Unicode is not supported");
return NULL;
}
return PyObject_Unicode(obj);
}
#else
if (PyUnicode_Check(obj)) {
PyErr_SetString(PyExc_TypeError,
"decoding Unicode is not supported");
return NULL;
}
#endif
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
More information about the Python-Dev
mailing list