diff util.c @ 1484:d82af64c94d2 nuklear_ui

Sort directory listing in Nuklear UI file browser
author Michael Pavone <pavone@retrodev.com>
date Sun, 26 Nov 2017 17:33:39 -0800
parents e2bd03ed3190
children 369da70ee2c2
line wrap: on
line diff
--- a/util.c	Sat Nov 25 20:43:20 2017 -0800
+++ b/util.c	Sun Nov 26 17:33:39 2017 -0800
@@ -680,6 +680,22 @@
 	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>