[Python-Dev] PyUnicode_FromEncodedObject (original) (raw)
David Abrahams dave at boost-consulting.com
Thu Sep 11 16:11:54 EDT 2003
- Previous message: [Python-Dev] Base-n integer formatting
- Next message: [Python-Dev] PyUnicode_FromEncodedObject
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [Python-Dev] Base-n integer formatting
- Next message: [Python-Dev] PyUnicode_FromEncodedObject
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]