summaryrefslogtreecommitdiffstats
path: root/Objects/dictobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/dictobject.c')
-rw-r--r--Objects/dictobject.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 0f2a271..84cf482 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1088,10 +1088,9 @@ dict_update_common(PyObject *self, PyObject *args, PyObject *kwds, char *methnam
static PyObject *
dict_update(PyObject *self, PyObject *args, PyObject *kwds)
{
- if (dict_update_common(self, args, kwds, "update") == -1)
- return NULL;
- Py_INCREF(Py_None);
- return Py_None;
+ if (dict_update_common(self, args, kwds, "update") != -1)
+ Py_RETURN_NONE;
+ return NULL;
}
/* Update unconditionally replaces existing items.
@@ -1593,8 +1592,7 @@ static PyObject *
dict_clear(register dictobject *mp)
{
PyDict_Clear((PyObject *)mp);
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyObject *
@@ -2050,7 +2048,9 @@ dictiter_dealloc(dictiterobject *di)
static int
dictiter_len(dictiterobject *di)
{
- return di->len;
+ if (di->di_dict != NULL && di->di_used == di->di_dict->ma_used)
+ return di->len;
+ return 0;
}
static PySequenceMethods dictiter_as_sequence = {