diff options
Diffstat (limited to 'Objects/stringobject.c')
-rw-r--r-- | Objects/stringobject.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 78713232ee..1209197377 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -4257,8 +4257,8 @@ PyString_Format(PyObject *format, PyObject *args) 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) { if (*fmt != '%') { |