summaryrefslogtreecommitdiffstats
path: root/Objects/dictobject.c
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2016-10-28 23:01:46 (GMT)
committerYury Selivanov <yury@magic.io>2016-10-28 23:01:46 (GMT)
commitf0bbee6228a3a369520e6a1b49eb2e4d079031cd (patch)
treeff25ac02d708974a976cb483159fd9dfc636fdcd /Objects/dictobject.c
parent1b6b6eb4537dae6345f78b8b0941eb0fae2b33d5 (diff)
parent684ef2c88882d4c1aaf325fd0a5845740f22c8b7 (diff)
downloadcpython-f0bbee6228a3a369520e6a1b49eb2e4d079031cd.zip
cpython-f0bbee6228a3a369520e6a1b49eb2e4d079031cd.tar.gz
cpython-f0bbee6228a3a369520e6a1b49eb2e4d079031cd.tar.bz2
Merge 3.6 (issue #28544)
Diffstat (limited to 'Objects/dictobject.c')
-rw-r--r--Objects/dictobject.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 3c54926..6203ef4 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1769,13 +1769,17 @@ PyDict_Next(PyObject *op, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)
/* Internal version of dict.pop(). */
PyObject *
-_PyDict_Pop(PyDictObject *mp, PyObject *key, PyObject *deflt)
+_PyDict_Pop(PyObject *dict, PyObject *key, PyObject *deflt)
{
Py_hash_t hash;
Py_ssize_t ix, hashpos;
PyObject *old_value, *old_key;
PyDictKeyEntry *ep;
PyObject **value_addr;
+ PyDictObject *mp;
+
+ assert(PyDict_Check(dict));
+ mp = (PyDictObject *)dict;
if (mp->ma_used == 0) {
if (deflt) {
@@ -2837,7 +2841,7 @@ dict_pop(PyDictObject *mp, PyObject *args)
if(!PyArg_UnpackTuple(args, "pop", 1, 2, &key, &deflt))
return NULL;
- return _PyDict_Pop(mp, key, deflt);
+ return _PyDict_Pop((PyObject*)mp, key, deflt);
}
static PyObject *