Add a hash remove implementation
This commit is contained in:
parent
ecf65fe041
commit
f15ce9f400
@ -88,11 +88,18 @@ wl_hash_lookup(struct wl_hash *hash, uint32_t id)
|
||||
}
|
||||
|
||||
void
|
||||
wl_hash_delete(struct wl_hash *hash, struct wl_object *object)
|
||||
wl_hash_remove(struct wl_hash *hash, struct wl_object *object)
|
||||
{
|
||||
/* writeme */
|
||||
}
|
||||
int i;
|
||||
|
||||
for (i = 0; i < hash->count; i++) {
|
||||
if (hash->objects[i]->id == object->id) {
|
||||
hash->objects[i] = hash->objects[hash->count - 1];
|
||||
hash->count--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WL_EXPORT void
|
||||
wl_list_init(struct wl_list *list)
|
||||
|
@ -69,7 +69,7 @@ struct wl_hash *wl_hash_create(void);
|
||||
void wl_hash_destroy(struct wl_hash *hash);
|
||||
int wl_hash_insert(struct wl_hash *hash, struct wl_object *object);
|
||||
struct wl_object *wl_hash_lookup(struct wl_hash *hash, uint32_t id);
|
||||
void wl_hash_delete(struct wl_hash *hash, struct wl_object *object);
|
||||
void wl_hash_remove(struct wl_hash *hash, struct wl_object *object);
|
||||
|
||||
struct wl_list {
|
||||
struct wl_list *prev;
|
||||
|
Loading…
Reference in New Issue
Block a user