| 413 | } |
| 414 | |
| 415 | void htable_delval_(struct htable *ht, struct htable_iter *i) |
| 416 | { |
| 417 | assert(i->off < (size_t)1 << ht->bits); |
| 418 | assert(entry_is_valid(ht->table[i->off])); |
| 419 | |
| 420 | ht->elems--; |
| 421 | /* Cheap test: if the next bucket is empty, don't need delete marker */ |
| 422 | if (ht->table[hash_bucket(ht, i->off+1)] != 0) { |
| 423 | ht->table[i->off] = HTABLE_DELETED; |
| 424 | ht->deleted++; |
| 425 | } else |
| 426 | ht->table[i->off] = 0; |
| 427 | } |
| 428 | |
| 429 | void *htable_pick_(const struct htable *ht, size_t seed, struct htable_iter *i) |
| 430 | { |
nothing calls this directly
no test coverage detected