hashmap: use *_entry APIs for iteration
Inspired by list_for_each_entry in the Linux kernel. Once again, these are somewhat compromised usability-wise by compilers lacking __typeof__ support. Signed-off-by: Eric Wong <e@80x24.org> Reviewed-by: Derrick Stolee <stolee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
939af16eac
commit
87571c3f71
6
oidmap.h
6
oidmap.h
@ -78,14 +78,16 @@ static inline void oidmap_iter_init(struct oidmap *map, struct oidmap_iter *iter
|
||||
|
||||
static inline void *oidmap_iter_next(struct oidmap_iter *iter)
|
||||
{
|
||||
return hashmap_iter_next(&iter->h_iter);
|
||||
/* TODO: this API could be reworked to do compile-time type checks */
|
||||
return (void *)hashmap_iter_next(&iter->h_iter);
|
||||
}
|
||||
|
||||
static inline void *oidmap_iter_first(struct oidmap *map,
|
||||
struct oidmap_iter *iter)
|
||||
{
|
||||
oidmap_iter_init(map, iter);
|
||||
return oidmap_iter_next(iter);
|
||||
/* TODO: this API could be reworked to do compile-time type checks */
|
||||
return (void *)oidmap_iter_next(iter);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user