diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2002-11-12 23:01:12 +0000 |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2002-11-12 23:01:12 +0000 |
commit | f29ba790cd6a8d0995d652faba626e775a5e6f7c (patch) | |
tree | 917d6a467aa31311fa6aa8d96cf8dab7346b6be0 /Objects/stringobject.c | |
parent | 07a431ede3d12317d2725a8c2b68b75823b5ffb6 (diff) | |
download | cpython-f29ba790cd6a8d0995d652faba626e775a5e6f7c.tar.gz |
Fix SF # 635969, No error "not all arguments converted"
When mwh added extended slicing, strings and unicode became mappings.
Thus, dict was set which prevented an error when doing:
newstr = 'format without a percent' % string_value
This fix raises an exception again when there are no formats
and % with a string value.
Diffstat (limited to 'Objects/stringobject.c')
-rw-r--r-- | Objects/stringobject.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 35b4b47e98..bf8bad53a8 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -3622,7 +3622,8 @@ PyString_Format(PyObject *format, PyObject *args) arglen = -1; argidx = -2; } - if (args->ob_type->tp_as_mapping && !PyTuple_Check(args)) + if (args->ob_type->tp_as_mapping && !PyTuple_Check(args) && + !PyObject_TypeCheck(args, &PyBaseString_Type)) dict = args; while (--fmtcnt >= 0) { if (*fmt != '%') { |