mirror of
https://gitlab.com/Theopse/fbi-i18n-zh.git
synced 2025-11-19 13:02:09 +08:00
Sort TitleDB entries by name.
This commit is contained in:
parent
5a984615f9
commit
77cbab16a5
@ -53,11 +53,21 @@ static Result task_populate_titledb_download(u32* downloadSize, void* buffer, u3
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int task_populate_titledb_compare(const void** p1, const void** p2) {
|
||||||
|
list_item* info1 = *(list_item**) p1;
|
||||||
|
list_item* info2 = *(list_item**) p2;
|
||||||
|
|
||||||
|
return strncasecmp(info1->name, info2->name, LIST_ITEM_NAME_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
static void task_populate_titledb_thread(void* arg) {
|
static void task_populate_titledb_thread(void* arg) {
|
||||||
populate_titledb_data* data = (populate_titledb_data*) arg;
|
populate_titledb_data* data = (populate_titledb_data*) arg;
|
||||||
|
|
||||||
Result res = 0;
|
Result res = 0;
|
||||||
|
|
||||||
|
linked_list tempItems;
|
||||||
|
linked_list_init(&tempItems);
|
||||||
|
|
||||||
u32 maxTextSize = 128 * 1024;
|
u32 maxTextSize = 128 * 1024;
|
||||||
char* text = (char*) calloc(sizeof(char), maxTextSize);
|
char* text = (char*) calloc(sizeof(char), maxTextSize);
|
||||||
if(text != NULL) {
|
if(text != NULL) {
|
||||||
@ -114,7 +124,7 @@ static void task_populate_titledb_thread(void* arg) {
|
|||||||
|
|
||||||
item->data = titledbInfo;
|
item->data = titledbInfo;
|
||||||
|
|
||||||
linked_list_add(data->items, item);
|
linked_list_add(&tempItems, item);
|
||||||
} else {
|
} else {
|
||||||
free(item);
|
free(item);
|
||||||
|
|
||||||
@ -139,6 +149,15 @@ static void task_populate_titledb_thread(void* arg) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(R_SUCCEEDED(res)) {
|
if(R_SUCCEEDED(res)) {
|
||||||
|
linked_list_sort(&tempItems, task_populate_titledb_compare);
|
||||||
|
|
||||||
|
linked_list_iter tempIter;
|
||||||
|
linked_list_iterate(&tempItems, &tempIter);
|
||||||
|
|
||||||
|
while(linked_list_iter_has_next(&tempIter)) {
|
||||||
|
linked_list_add(data->items, linked_list_iter_next(&tempIter));
|
||||||
|
}
|
||||||
|
|
||||||
linked_list_iter iter;
|
linked_list_iter iter;
|
||||||
linked_list_iterate(data->items, &iter);
|
linked_list_iterate(data->items, &iter);
|
||||||
|
|
||||||
@ -191,6 +210,8 @@ static void task_populate_titledb_thread(void* arg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
linked_list_destroy(&tempItems);
|
||||||
|
|
||||||
svcCloseHandle(data->cancelEvent);
|
svcCloseHandle(data->cancelEvent);
|
||||||
|
|
||||||
data->result = res;
|
data->result = res;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user