diff --git a/nx/source/services/ncm.c b/nx/source/services/ncm.c index fc07227b..f60b3ea5 100644 --- a/nx/source/services/ncm.c +++ b/nx/source/services/ncm.c @@ -390,10 +390,13 @@ Result ncmContentMetaDatabaseList(NcmContentMetaDatabase* db, s32* out_entries_t s32 out_entries_total; s32 out_entries_written; } out; - return serviceDispatchInOut(&db->s, 5, in, out, + Result rc = serviceDispatchInOut(&db->s, 5, in, out, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, .buffers = { { out_keys, count*sizeof(NcmContentMetaKey) } }, ); + if (R_SUCCEEDED(rc) && out_entries_total) *out_entries_total = out.out_entries_total; + if (R_SUCCEEDED(rc) && out_entries_written) *out_entries_written = out.out_entries_written; + return rc; } Result ncmContentMetaDatabaseGetLatestContentMetaKey(NcmContentMetaDatabase* db, NcmContentMetaKey* out_key, u64 title_id) { @@ -405,10 +408,13 @@ Result ncmContentMetaDatabaseListApplication(NcmContentMetaDatabase* db, s32* ou s32 out_entries_total; s32 out_entries_written; } out; - return serviceDispatchInOut(&db->s, 7, meta_type, out, + Result rc = serviceDispatchInOut(&db->s, 7, meta_type, out, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, .buffers = { { out_keys, count*sizeof(NcmApplicationContentMetaKey) } }, ); + if (R_SUCCEEDED(rc) && out_entries_total) *out_entries_total = out.out_entries_total; + if (R_SUCCEEDED(rc) && out_entries_written) *out_entries_written = out.out_entries_written; + return rc; } Result ncmContentMetaDatabaseHas(NcmContentMetaDatabase* db, bool* out, const NcmContentMetaKey* key) {