summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-05-15 21:32:59 (GMT)
committerGuido van Rossum <guido@python.org>2007-05-15 21:32:59 (GMT)
commite1083734ec19709a9c30f8df93e61fb079e93d8d (patch)
tree24bbe52aa91053efcf8884549d2f564c760a0727 /Python
parenta45ea5828e8e9ca9ed18c0de7d81486a86bbe058 (diff)
downloadcpython-e1083734ec19709a9c30f8df93e61fb079e93d8d.zip
cpython-e1083734ec19709a9c30f8df93e61fb079e93d8d.tar.gz
cpython-e1083734ec19709a9c30f8df93e61fb079e93d8d.tar.bz2
It's ok for __hex__ or __oct__ to return unicode.
Don't insist that float('1'*10000) raises an exception.
Diffstat (limited to 'Python')
-rw-r--r--Python/bltinmodule.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index aa0d0df..064b92a 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1230,7 +1230,7 @@ builtin_hex(PyObject *self, PyObject *v)
return NULL;
}
res = (*nb->nb_hex)(v);
- if (res && !PyString_Check(res)) {
+ if (res && !PyString_Check(res) && !PyUnicode_Check(res)) {
PyErr_Format(PyExc_TypeError,
"__hex__ returned non-string (type %.200s)",
res->ob_type->tp_name);
@@ -1430,7 +1430,7 @@ builtin_oct(PyObject *self, PyObject *v)
return NULL;
}
res = (*nb->nb_oct)(v);
- if (res && !PyString_Check(res)) {
+ if (res && !PyString_Check(res) && !PyUnicode_Check(res)) {
PyErr_Format(PyExc_TypeError,
"__oct__ returned non-string (type %.200s)",
res->ob_type->tp_name);