return c1->class->compare(c1, c2);
}
+typedef int (*qsort_func)(const void *, const void *);
static int snd_mixer_sort(snd_mixer_t *mixer)
{
unsigned int k;
- int compar(const void *a, const void *b) {
- return mixer->compare(*(const snd_mixer_elem_t * const *) a,
- *(const snd_mixer_elem_t * const *) b);
- }
assert(mixer);
assert(mixer->compare);
INIT_LIST_HEAD(&mixer->elems);
- qsort(mixer->pelems, mixer->count, sizeof(snd_mixer_elem_t*), compar);
+ qsort(mixer->pelems, mixer->count, sizeof(snd_mixer_elem_t*), (qsort_func)mixer->compare);
for (k = 0; k < mixer->count; k++)
list_add_tail(&mixer->pelems[k]->list, &mixer->elems);
return 0;