From 32116aa8eda4aad98caece5386979fa2037e6c0d Mon Sep 17 00:00:00 2001 From: Helloman892 <1565516+Helloman892@users.noreply.github.com> Date: Sat, 28 Oct 2017 04:59:30 +0100 Subject: [PATCH] Added splash qsort, because I forgot to when I added theme qsort ( (>O_O>) --- include/splashes.h | 9 +++++---- source/splashes.c | 11 +++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/include/splashes.h b/include/splashes.h index 6d98d54..e372391 100644 --- a/include/splashes.h +++ b/include/splashes.h @@ -29,10 +29,10 @@ #include "common.h" -typedef struct{ - u16 name[0x40]; - u16 desc[0x80]; - u16 author[0x40]; +typedef struct { + u16 name[0x41]; + u16 desc[0x81]; + u16 author[0x41]; u32 placeholder_color; ssize_t icon_id; @@ -45,6 +45,7 @@ Splash_s *splashes_list; int splash_count; Result get_splashes(Splash_s** splashes_list, int *splash_count); +int splashcmp(const void* a, const void* b); void splash_install(Splash_s splash_to_install); void splash_delete(); void load_splash_preview(Splash_s *splash); diff --git a/source/splashes.c b/source/splashes.c index 9d150fd..20abe6e 100644 --- a/source/splashes.c +++ b/source/splashes.c @@ -192,11 +192,22 @@ Result get_splashes(Splash_s** splashes_list, int *splash_count) ssize_t iconID = TEXTURE_PREVIEW + theme_count + *splash_count; parse_smdh(current_splash, iconID, entry.name); } + FSDIR_Close(dir_handle); + qsort(*splashes_list, (long)*splash_count, sizeof(Splash_s), splashcmp); + return res; } +int splashcmp(const void* a, const void* b) //essentially a memcmp alias, so that it can be used properly with qsort +{ + Splash_s *splash_a = (Splash_s *)a; + Splash_s *splash_b = (Splash_s *)b; + + return memcmp(splash_a, splash_b, 0x40*sizeof(u16)); +} + void splash_delete() { remove("/luma/splash.bin");