diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-11-26 17:33:39 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-11-26 17:33:39 -0800 |
commit | 3c9268353c943b32ca517945c42dfb8c0b8484f8 (patch) | |
tree | 17e84a7ba10b3b85d0ba97485915bb7330403dc4 /util.c | |
parent | f4767bb05392fa4a04d72969fa35aa91b688c8cb (diff) |
Sort directory listing in Nuklear UI file browser
--HG--
branch : nuklear_ui
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -680,6 +680,22 @@ void free_dir_list(dir_entry *list, size_t numentries) free(list); } +static int sort_dir_alpha(const void *a, const void *b) +{ + const dir_entry *da, *db; + da = a; + db = b; + if (da->is_dir != db->is_dir) { + return db->is_dir - da->is_dir; + } + return strcasecmp(((dir_entry *)a)->name, ((dir_entry *)b)->name); +} + +void sort_dir_list(dir_entry *list, size_t num_entries) +{ + qsort(list, num_entries, sizeof(dir_entry), sort_dir_alpha); +} + #ifdef __ANDROID__ #include <SDL.h> |