Add a hash remove implementation

This commit is contained in:
Kristian Høgsberg 2009-09-18 16:57:55 -04:00
parent ecf65fe041
commit f15ce9f400
2 changed files with 11 additions and 4 deletions

View File

@ -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)

View File

@ -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;