From f951f44c4ad348a5d970df571d4789187dff64d5 Mon Sep 17 00:00:00 2001 From: Steven Smith Date: Fri, 22 Apr 2016 16:25:32 -0700 Subject: [PATCH] Limit list population by actual existing entry count. --- source/ui/section/task/listextsavedata.c | 2 +- source/ui/section/task/listfiles.c | 2 +- source/ui/section/task/listpendingtitles.c | 2 +- source/ui/section/task/listsystemsavedata.c | 2 +- source/ui/section/task/listtickets.c | 2 +- source/ui/section/task/listtitles.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/source/ui/section/task/listextsavedata.c b/source/ui/section/task/listextsavedata.c index b3791a2..7872a4d 100644 --- a/source/ui/section/task/listextsavedata.c +++ b/source/ui/section/task/listextsavedata.c @@ -30,7 +30,7 @@ static Result task_populate_ext_save_data_from(populate_ext_save_data_data* data qsort(extSaveDataIds, extSaveDataCount, sizeof(u64), util_compare_u64); SMDH smdh; - for(u32 i = 0; i < extSaveDataCount && i < data->max && R_SUCCEEDED(res); i++) { + for(u32 i = 0; i < extSaveDataCount && *data->count < data->max && R_SUCCEEDED(res); i++) { if(task_is_quit_all() || svcWaitSynchronization(data->cancelEvent, 0) == 0) { break; } diff --git a/source/ui/section/task/listfiles.c b/source/ui/section/task/listfiles.c index 93ce1ee..9c56822 100644 --- a/source/ui/section/task/listfiles.c +++ b/source/ui/section/task/listfiles.c @@ -40,7 +40,7 @@ static void task_populate_files_thread(void* arg) { qsort(entries, entryCount, sizeof(FS_DirectoryEntry), util_compare_directory_entries); SMDH smdh; - for(u32 i = 0; i < entryCount && i < data->max && R_SUCCEEDED(res); i++) { + for(u32 i = 0; i < entryCount && *data->count < data->max && R_SUCCEEDED(res); i++) { if(task_is_quit_all() || svcWaitSynchronization(data->cancelEvent, 0) == 0) { break; } diff --git a/source/ui/section/task/listpendingtitles.c b/source/ui/section/task/listpendingtitles.c index 1653268..930bf0a 100644 --- a/source/ui/section/task/listpendingtitles.c +++ b/source/ui/section/task/listpendingtitles.c @@ -33,7 +33,7 @@ static Result task_populate_pending_titles_from(populate_pending_titles_data* da AM_PendingTitleEntry* pendingTitleInfos = (AM_PendingTitleEntry*) calloc(pendingTitleCount, sizeof(AM_PendingTitleEntry)); if(pendingTitleInfos != NULL) { if(R_SUCCEEDED(res = AM_GetPendingTitleInfo(pendingTitleCount, mediaType, pendingTitleIds, pendingTitleInfos))) { - for(u32 i = 0; i < pendingTitleCount && i < data->max && R_SUCCEEDED(res); i++) { + for(u32 i = 0; i < pendingTitleCount && *data->count < data->max && R_SUCCEEDED(res); i++) { if(task_is_quit_all() || svcWaitSynchronization(data->cancelEvent, 0) == 0) { break; } diff --git a/source/ui/section/task/listsystemsavedata.c b/source/ui/section/task/listsystemsavedata.c index e4c52b3..9e83fe4 100644 --- a/source/ui/section/task/listsystemsavedata.c +++ b/source/ui/section/task/listsystemsavedata.c @@ -31,7 +31,7 @@ static void task_populate_system_save_data_thread(void* arg) { if(R_SUCCEEDED(res = FSUSER_EnumerateSystemSaveData(&systemSaveDataCount, data->max * sizeof(u32), systemSaveDataIds))) { qsort(systemSaveDataIds, systemSaveDataCount, sizeof(u32), util_compare_u32); - for(u32 i = 0; i < systemSaveDataCount && i < data->max && R_SUCCEEDED(res); i++) { + for(u32 i = 0; i < systemSaveDataCount && *data->count < data->max && R_SUCCEEDED(res); i++) { if(task_is_quit_all() || svcWaitSynchronization(data->cancelEvent, 0) == 0) { break; } diff --git a/source/ui/section/task/listtickets.c b/source/ui/section/task/listtickets.c index 907d1a6..54bce2f 100644 --- a/source/ui/section/task/listtickets.c +++ b/source/ui/section/task/listtickets.c @@ -32,7 +32,7 @@ static void task_populate_tickets_thread(void* arg) { if(R_SUCCEEDED(res = AM_GetTicketList(&ticketCount, ticketCount, 0, ticketIds))) { qsort(ticketIds, ticketCount, sizeof(u64), util_compare_u64); - for(u32 i = 0; i < ticketCount && i < data->max && R_SUCCEEDED(res); i++) { + for(u32 i = 0; i < ticketCount && *data->count < data->max && R_SUCCEEDED(res); i++) { if(task_is_quit_all() || svcWaitSynchronization(data->cancelEvent, 0) == 0) { break; } diff --git a/source/ui/section/task/listtitles.c b/source/ui/section/task/listtitles.c index c59435a..62595f7 100644 --- a/source/ui/section/task/listtitles.c +++ b/source/ui/section/task/listtitles.c @@ -261,7 +261,7 @@ static Result task_populate_titles_from(populate_titles_data* data, FS_MediaType if(R_SUCCEEDED(res = AM_GetTitleList(&titleCount, mediaType, titleCount, titleIds))) { qsort(titleIds, titleCount, sizeof(u64), util_compare_u64); - for(u32 i = 0; i < titleCount && i < data->max && R_SUCCEEDED(res); i++) { + for(u32 i = 0; i < titleCount && *data->count < data->max && R_SUCCEEDED(res); i++) { if(task_is_quit_all() || svcWaitSynchronization(data->cancelEvent, 0) == 0) { break; }