diff options
| author | 2022-11-23 13:25:14 -0500 | |
|---|---|---|
| committer | 2022-11-23 13:43:20 -0500 | |
| commit | 97f273e94e83a679f42faa9c81916a1c058112e1 (patch) | |
| tree | e2a2777ae3bec31b544516988fae36e8080150ff /src/core/hle/service/es | |
| parent | hle_ipc: Add helper functions for getting number of buffer elements (diff) | |
| download | yuzu-97f273e94e83a679f42faa9c81916a1c058112e1.tar.gz yuzu-97f273e94e83a679f42faa9c81916a1c058112e1.tar.xz yuzu-97f273e94e83a679f42faa9c81916a1c058112e1.zip | |
service: Make use of buffer element count helpers
Diffstat (limited to 'src/core/hle/service/es')
| -rw-r--r-- | src/core/hle/service/es/es.cpp | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index ff9b0427c..d183e5829 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp | |||
| @@ -192,12 +192,10 @@ private: | |||
| 192 | } | 192 | } |
| 193 | 193 | ||
| 194 | void ListCommonTicketRightsIds(Kernel::HLERequestContext& ctx) { | 194 | void ListCommonTicketRightsIds(Kernel::HLERequestContext& ctx) { |
| 195 | u32 out_entries; | 195 | size_t out_entries = 0; |
| 196 | if (keys.GetCommonTickets().empty()) | 196 | if (!keys.GetCommonTickets().empty()) { |
| 197 | out_entries = 0; | 197 | out_entries = ctx.GetWriteBufferNumElements<u128>(); |
| 198 | else | 198 | } |
| 199 | out_entries = static_cast<u32>(ctx.GetWriteBufferSize() / sizeof(u128)); | ||
| 200 | |||
| 201 | LOG_DEBUG(Service_ETicket, "called, entries={:016X}", out_entries); | 199 | LOG_DEBUG(Service_ETicket, "called, entries={:016X}", out_entries); |
| 202 | 200 | ||
| 203 | keys.PopulateTickets(); | 201 | keys.PopulateTickets(); |
| @@ -206,20 +204,19 @@ private: | |||
| 206 | std::transform(tickets.begin(), tickets.end(), std::back_inserter(ids), | 204 | std::transform(tickets.begin(), tickets.end(), std::back_inserter(ids), |
| 207 | [](const auto& pair) { return pair.first; }); | 205 | [](const auto& pair) { return pair.first; }); |
| 208 | 206 | ||
| 209 | out_entries = static_cast<u32>(std::min<std::size_t>(ids.size(), out_entries)); | 207 | out_entries = std::min(ids.size(), out_entries); |
| 210 | ctx.WriteBuffer(ids.data(), out_entries * sizeof(u128)); | 208 | ctx.WriteBuffer(ids.data(), out_entries * sizeof(u128)); |
| 211 | 209 | ||
| 212 | IPC::ResponseBuilder rb{ctx, 3}; | 210 | IPC::ResponseBuilder rb{ctx, 3}; |
| 213 | rb.Push(ResultSuccess); | 211 | rb.Push(ResultSuccess); |
| 214 | rb.Push<u32>(out_entries); | 212 | rb.Push<u32>(static_cast<u32>(out_entries)); |
| 215 | } | 213 | } |
| 216 | 214 | ||
| 217 | void ListPersonalizedTicketRightsIds(Kernel::HLERequestContext& ctx) { | 215 | void ListPersonalizedTicketRightsIds(Kernel::HLERequestContext& ctx) { |
| 218 | u32 out_entries; | 216 | size_t out_entries = 0; |
| 219 | if (keys.GetPersonalizedTickets().empty()) | 217 | if (!keys.GetPersonalizedTickets().empty()) { |
| 220 | out_entries = 0; | 218 | out_entries = ctx.GetWriteBufferNumElements<u128>(); |
| 221 | else | 219 | } |
| 222 | out_entries = static_cast<u32>(ctx.GetWriteBufferSize() / sizeof(u128)); | ||
| 223 | 220 | ||
| 224 | LOG_DEBUG(Service_ETicket, "called, entries={:016X}", out_entries); | 221 | LOG_DEBUG(Service_ETicket, "called, entries={:016X}", out_entries); |
| 225 | 222 | ||
| @@ -229,12 +226,12 @@ private: | |||
| 229 | std::transform(tickets.begin(), tickets.end(), std::back_inserter(ids), | 226 | std::transform(tickets.begin(), tickets.end(), std::back_inserter(ids), |
| 230 | [](const auto& pair) { return pair.first; }); | 227 | [](const auto& pair) { return pair.first; }); |
| 231 | 228 | ||
| 232 | out_entries = static_cast<u32>(std::min<std::size_t>(ids.size(), out_entries)); | 229 | out_entries = std::min(ids.size(), out_entries); |
| 233 | ctx.WriteBuffer(ids.data(), out_entries * sizeof(u128)); | 230 | ctx.WriteBuffer(ids.data(), out_entries * sizeof(u128)); |
| 234 | 231 | ||
| 235 | IPC::ResponseBuilder rb{ctx, 3}; | 232 | IPC::ResponseBuilder rb{ctx, 3}; |
| 236 | rb.Push(ResultSuccess); | 233 | rb.Push(ResultSuccess); |
| 237 | rb.Push<u32>(out_entries); | 234 | rb.Push<u32>(static_cast<u32>(out_entries)); |
| 238 | } | 235 | } |
| 239 | 236 | ||
| 240 | void GetCommonTicketSize(Kernel::HLERequestContext& ctx) { | 237 | void GetCommonTicketSize(Kernel::HLERequestContext& ctx) { |