Skip to content

Commit 592d480

Browse files
committed
Changing return type of 'requestFrom' from uint8_t to size_t allows the function to return the correct amount of bytes read (since internally it's already a size_t which is downcast to a uint8_t upon returning it.
1 parent 4ee5aae commit 592d480

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

libraries/Wire/Wire.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ uint8_t arduino::MbedI2C::endTransmission(void) {
7272
return endTransmission(true);
7373
}
7474

75-
uint8_t arduino::MbedI2C::requestFrom(uint8_t address, size_t len, bool stopBit) {
75+
size_t arduino::MbedI2C::requestFrom(uint8_t address, size_t len, bool stopBit) {
7676
char buf[256];
7777
int ret = master->read(address << 1, buf, len, !stopBit);
7878
if (ret != 0) {
@@ -84,7 +84,7 @@ uint8_t arduino::MbedI2C::requestFrom(uint8_t address, size_t len, bool stopBit)
8484
return len;
8585
}
8686

87-
uint8_t arduino::MbedI2C::requestFrom(uint8_t address, size_t len) {
87+
size_t arduino::MbedI2C::requestFrom(uint8_t address, size_t len) {
8888
return requestFrom(address, len, true);
8989
}
9090

libraries/Wire/Wire.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ class MbedI2C : public HardwareI2C
4343
virtual uint8_t endTransmission(bool stopBit);
4444
virtual uint8_t endTransmission(void);
4545

46-
virtual uint8_t requestFrom(uint8_t address, size_t len, bool stopBit);
47-
virtual uint8_t requestFrom(uint8_t address, size_t len);
46+
virtual size_t requestFrom(uint8_t address, size_t len, bool stopBit);
47+
virtual size_t requestFrom(uint8_t address, size_t len);
4848

4949
virtual void onReceive(void(*)(int));
5050
virtual void onRequest(void(*)(void));

0 commit comments

Comments
 (0)