service: hid: Ensure GetNextEntryIndex can't fail

This commit is contained in:
german77 2023-11-02 19:14:05 -06:00
parent 79d3cef8db
commit b36fec486e

View File

@ -32,15 +32,15 @@ struct Lifo {
} }
std::size_t GetPreviousEntryIndex() const { std::size_t GetPreviousEntryIndex() const {
return static_cast<size_t>((buffer_tail + total_buffer_count - 1) % total_buffer_count); return static_cast<size_t>((buffer_tail + max_buffer_size - 1) % max_buffer_size);
} }
std::size_t GetNextEntryIndex() const { std::size_t GetNextEntryIndex() const {
return static_cast<size_t>((buffer_tail + 1) % total_buffer_count); return static_cast<size_t>((buffer_tail + 1) % max_buffer_size);
} }
void WriteNextEntry(const State& new_state) { void WriteNextEntry(const State& new_state) {
if (buffer_count < total_buffer_count - 1) { if (buffer_count < static_cast<s64>(max_buffer_size) - 1) {
buffer_count++; buffer_count++;
} }
buffer_tail = GetNextEntryIndex(); buffer_tail = GetNextEntryIndex();