cxong / tinydir

Lightweight, portable and easy to integrate C directory and file reader
Other
803 stars 124 forks source link

Multiple sort options as a parameter #65

Open joel16 opened 5 years ago

joel16 commented 5 years ago

Hi, I was wondering if there's a possibility to have tinydir_open_sorted to have multiple sorting options. One way I can think of to achieve this would be to pass our own (comparator?) like this one https://github.com/cxong/tinydir/blob/master/tinydir.h#L755

This would allow the user to sort alphabetically in both ascending/descending order as well sorting by size, timestamps etc.

cxong commented 5 years ago

I prefer keeping compatibility, which means we could add a new function like tinydir_open_custom which can take in a comparator.

To maintain forward compatibility, we could define an options struct, which just has the comparator for now, but could have more fields in the future.

As a workaround for now, you could perform your own qsort on dir._files.

joel16 commented 5 years ago

Thanks for your response, I may as well go with your workaround for now.