diff --git a/profiles/midi/libmidi.c b/profiles/midi/libmidi.c
index ac090b5..4b4df79 100644
--- a/profiles/midi/libmidi.c
+++ b/profiles/midi/libmidi.c
return buffer->data[buffer->len - (i + 1)];
}
+inline static void buffer_reverse_set(struct midi_buffer *buffer, size_t i,
+ const uint8_t byte)
+{
+ MIDI_ASSERT(buffer->len > i);
+ buffer->data[buffer->len - (i + 1)] = byte;
+}
+
inline static size_t parser_get_available_size(struct midi_write_parser *parser)
{
return parser->stream_size - parser->midi_stream.len;
time_low = buffer_reverse_get(&parser->sysex_stream, 0) & 0x7F;
/* Remove timestamp byte */
- parser->sysex_stream.data[parser->sysex_stream.len - 1] = 0xF7;
+ buffer_reverse_set(&parser->sysex_stream, 0, 0xF7);
/* Update event */
update_ev_timestamp(parser, ev, time_low);