summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2017-11-26 17:33:39 -0800
committerMichael Pavone <pavone@retrodev.com>2017-11-26 17:33:39 -0800
commit3c9268353c943b32ca517945c42dfb8c0b8484f8 (patch)
tree17e84a7ba10b3b85d0ba97485915bb7330403dc4 /util.c
parentf4767bb05392fa4a04d72969fa35aa91b688c8cb (diff)
Sort directory listing in Nuklear UI file browser
--HG-- branch : nuklear_ui
Diffstat (limited to 'util.c')
-rw-r--r--util.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/util.c b/util.c
index 8601fca..09128c8 100644
--- a/util.c
+++ b/util.c
@@ -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>