return s->n_entries == 0;
}
-pa_idxset *pa_idxset_copy(pa_idxset *s) {
+pa_idxset *pa_idxset_copy(pa_idxset *s, pa_copy_func_t copy_func) {
pa_idxset *copy;
struct idxset_entry *i;
copy = pa_idxset_new(s->hash_func, s->compare_func);
for (i = s->iterate_list_head; i; i = i->iterate_next)
- pa_idxset_put(copy, i->data, NULL);
+ pa_idxset_put(copy, copy_func ? copy_func(i->data) : i->data, NULL);
return copy;
}