216 |
pointer pointed to must not have an influence on the condition |
pointer pointed to must not have an influence on the condition |
217 |
result, so the comma operator is used to make sure this |
result, so the comma operator is used to make sure this |
218 |
subexpression is always true). */ |
subexpression is always true). */ |
219 |
#define HURD_IHASH_ITERATE(ht, value) \ |
#define HURD_IHASH_ITERATE(ht, val) \ |
220 |
for (hurd_ihash_value_t value, \ |
for (hurd_ihash_value_t val, \ |
221 |
*_hurd_ihash_valuep = (ht)->size ? &(ht)->items[0].value : 0; \ |
*_hurd_ihash_valuep = (ht)->size ? &(ht)->items[0].value : 0; \ |
222 |
(ht)->size \ |
(ht)->size \ |
223 |
&& ((_hurd_ihash_item_t) _hurd_ihash_valuep) - &(ht)->items[0] \ |
&& ((_hurd_ihash_item_t) _hurd_ihash_valuep) - &(ht)->items[0] \ |
224 |
< (ht)->size \ |
< (ht)->size \ |
225 |
&& (value = *_hurd_ihash_valuep, 1); \ |
&& (val = *_hurd_ihash_valuep, 1); \ |
226 |
_hurd_ihash_valuep = (hurd_ihash_value_t *) \ |
_hurd_ihash_valuep = (hurd_ihash_value_t *) \ |
227 |
(((_hurd_ihash_item_t) _hurd_ihash_valuep)++)) \ |
(((_hurd_ihash_item_t) _hurd_ihash_valuep)++)) \ |
228 |
if (value != _HURD_IHASH_EMPTY && value != _HURD_IHASH_DELETED) |
if (val != _HURD_IHASH_EMPTY && val != _HURD_IHASH_DELETED) |
229 |
|
|
230 |
|
|
231 |
/* Remove the entry with the key KEY from the hash table HT. If such |
/* Remove the entry with the key KEY from the hash table HT. If such |