Limit list population by actual existing entry count.

This commit is contained in:
Steven Smith 2016-04-22 16:25:32 -07:00
parent 53fd3a6284
commit f951f44c4a
6 changed files with 6 additions and 6 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}