[strongSwan] Remove all elements from a hashtable_t
Martin Willi
martin at strongswan.org
Sat Jun 5 09:12:29 CEST 2010
Hi Graham,
> It seems to me that the only way to delete all elements in the
> hashtable_t is to create an enumerator, enumerate over the elements
> and call remove for each element found.
Yes.
> Does the hashtable_t+enumerator_t support this mode of operation ?
I think so. The hashtable is based on many linked_lists, and the remove
function from list can handle this.
@Tobias: Please correct me if I'm wrong.
> Or, is there a better way of doing this ?
Our list has handy destroy_offset/destroy_function helpers for cleanup
purposes, but the hashtable is currently missing these functions. So:
No.
> If all else fails, it may be better to free all the memory that the
> elements point to and to then destroy the hashtable_t and create a new
> one.
Might be a little more efficient for large tables (?), but shouldn't
really matter.
Regards
Martin
More information about the Users
mailing list