From fa85454114756c920e4109f7fc5b3ef2fbab6cca Mon Sep 17 00:00:00 2001 From: lathoub Date: Wed, 4 Aug 2021 05:40:29 +0200 Subject: [PATCH] parser pointer types as int, not byte increase pointer size, spec says message can have any length (quick internet search indicate packet length can be larger than 255) --- src/BLEMIDI_Transport.h | 10 +++++----- test/msvc/ConsoleApplication2.cpp | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/BLEMIDI_Transport.h b/src/BLEMIDI_Transport.h index 31eb668..a26f9b8 100644 --- a/src/BLEMIDI_Transport.h +++ b/src/BLEMIDI_Transport.h @@ -224,8 +224,8 @@ public: void receive(byte *buffer, size_t length) { // Pointers used to search through payload. - byte lPtr = 0; - byte rPtr = 0; + int lPtr = 0; + int rPtr = 0; // lastStatus used to capture runningStatus byte lastStatus; @@ -296,7 +296,7 @@ public: case MIDI_NAMESPACE::MidiType::AfterTouchPoly: case MIDI_NAMESPACE::MidiType::ControlChange: case MIDI_NAMESPACE::MidiType::PitchBend: - for (byte i = lPtr; i < rPtr; i = i + 2) + for (auto i = lPtr; i < rPtr; i = i + 2) { mBleClass.add(lastStatus); mBleClass.add(buffer[i + 1]); @@ -305,7 +305,7 @@ public: break; case MIDI_NAMESPACE::MidiType::ProgramChange: case MIDI_NAMESPACE::MidiType::AfterTouchChannel: - for (byte i = lPtr; i < rPtr; i = i + 1) + for (auto i = lPtr; i < rPtr; i = i + 1) { mBleClass.add(lastStatus); mBleClass.add(buffer[i + 1]); @@ -314,7 +314,7 @@ public: case MIDI_NAMESPACE::MidiType::SystemExclusive: mBleClass.add(buffer[lPtr]); - for (byte i = lPtr; i < rPtr; i++) + for (auto i = lPtr; i < rPtr; i++) mBleClass.add(buffer[i + 1]); break; diff --git a/test/msvc/ConsoleApplication2.cpp b/test/msvc/ConsoleApplication2.cpp index 1b73d47..540c1e2 100644 --- a/test/msvc/ConsoleApplication2.cpp +++ b/test/msvc/ConsoleApplication2.cpp @@ -24,8 +24,8 @@ void transmitMIDIonDIN(byte status, byte data1, byte data2) void receive(byte* buffer, size_t length) { // Pointers used to search through payload. - byte lPtr = 0; - byte rPtr = 0; + int lPtr = 0; + int rPtr = 0; // lastStatus used to capture runningStatus byte lastStatus;