summaryrefslogtreecommitdiffstats
path: root/Objects/setobject.c
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2015-07-06 15:43:37 (GMT)
committerRaymond Hettinger <python@rcn.com>2015-07-06 15:43:37 (GMT)
commitef6bd7d96336426f951c4636e232cdb855ef3d04 (patch)
treef770370b3493c61bc7aa630541ee57abeef2af02 /Objects/setobject.c
parentdf48b8571ee21ffa2735a292187995d1d77f6484 (diff)
downloadcpython-ef6bd7d96336426f951c4636e232cdb855ef3d04.zip
cpython-ef6bd7d96336426f951c4636e232cdb855ef3d04.tar.gz
cpython-ef6bd7d96336426f951c4636e232cdb855ef3d04.tar.bz2
Tighten-up code in set_next() to use an entry pointer rather than indexing.
Diffstat (limited to 'Objects/setobject.c')
-rw-r--r--Objects/setobject.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 307f19e..9753c8d 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -518,20 +518,22 @@ set_next(PySetObject *so, Py_ssize_t *pos_ptr, setentry **entry_ptr)
{
Py_ssize_t i;
Py_ssize_t mask;
- setentry *table;
+ setentry *entry;
assert (PyAnySet_Check(so));
i = *pos_ptr;
assert(i >= 0);
- table = so->table;
mask = so->mask;
- while (i <= mask && (table[i].key == NULL || table[i].key == dummy))
+ entry = &so->table[i];
+ while (i <= mask && (entry->key == NULL || entry->key == dummy)) {
i++;
+ entry++;
+ }
*pos_ptr = i+1;
if (i > mask)
return 0;
- assert(table[i].key != NULL);
- *entry_ptr = &table[i];
+ assert(entry != NULL);
+ *entry_ptr = entry;
return 1;
}