entry (if there are duplicates... this will avoid removing the wrong one)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@36092
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
el = (Evas_Hash_El *)l;
if (!strcmp(el->key, key))
{
- hash->buckets[hash_num] = evas_object_list_remove(hash->buckets[hash_num], el);
- free(el);
- hash->population--;
- if (hash->population <= 0)
+ if ((!data) || (el->data == data))
{
- free(hash);
- hash = NULL;
+ hash->buckets[hash_num] = evas_object_list_remove(hash->buckets[hash_num], el);
+ free(el);
+ hash->population--;
+ if (hash->population <= 0)
+ {
+ free(hash);
+ hash = NULL;
+ }
+ return hash;
}
- return hash;
}
}
}