summaryrefslogtreecommitdiff
path: root/Objects/unicodeobject.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2013-03-23 22:32:00 -0500
committerBenjamin Peterson <benjamin@python.org>2013-03-23 22:32:00 -0500
commitda2c7ebd234fc904f6d6de2191eb5f72e8992c95 (patch)
treefe5ea090417c5bb6a82e9ea3a7d1421b5227127b /Objects/unicodeobject.c
parent7e2f197a2bc3d15ff8c504154f48a3c2435c992f (diff)
downloadcpython-git-da2c7ebd234fc904f6d6de2191eb5f72e8992c95.tar.gz
allow any type with __getitem__ to be a mapping for the purposes of % (#15801)
Diffstat (limited to 'Objects/unicodeobject.c')
-rw-r--r--Objects/unicodeobject.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 981a98b63f..0ead06f242 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -8287,8 +8287,8 @@ PyObject *PyUnicode_Format(PyObject *format,
arglen = -1;
argidx = -2;
}
- if (PyMapping_Check(args) && !PyTuple_Check(args) &&
- !PyObject_TypeCheck(args, &PyBaseString_Type))
+ if (Py_TYPE(args)->tp_as_mapping && Py_TYPE(args)->tp_as_mapping->mp_subscript &&
+ !PyTuple_Check(args) && !PyObject_TypeCheck(args, &PyBaseString_Type))
dict = args;
while (--fmtcnt >= 0) {