summaryrefslogtreecommitdiff
path: root/libdrm/xf86drmHash.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdrm/xf86drmHash.c')
-rw-r--r--libdrm/xf86drmHash.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libdrm/xf86drmHash.c b/libdrm/xf86drmHash.c
index 71d3d895..a1908d09 100644
--- a/libdrm/xf86drmHash.c
+++ b/libdrm/xf86drmHash.c
@@ -292,14 +292,15 @@ int drmHashNext(void *t, unsigned long *key, void **value)
{
HashTablePtr table = (HashTablePtr)t;
- for (; table->p0 < HASH_SIZE;
- ++table->p0, table->p1 = table->buckets[table->p0]) {
+ while (table->p0 < HASH_SIZE) {
if (table->p1) {
*key = table->p1->key;
*value = table->p1->value;
table->p1 = table->p1->next;
return 1;
}
+ table->p1 = table->buckets[table->p0];
+ ++table->p0;
}
return 0;
}