diff --git a/libraries/ESP8266WiFi/src/WiFiUdp.cpp b/libraries/ESP8266WiFi/src/WiFiUdp.cpp index 5af8d03cd..c163ccef9 100644 --- a/libraries/ESP8266WiFi/src/WiFiUdp.cpp +++ b/libraries/ESP8266WiFi/src/WiFiUdp.cpp @@ -236,7 +236,7 @@ int WiFiUDP::read(unsigned char* buffer, size_t len) int WiFiUDP::peek() { if (!_ctx) - return 0; + return -1; return _ctx->peek(); } diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index 86a0b6ee5..f3b58f87e 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -190,7 +190,7 @@ public: int read() { - if (!_rx_buf || _rx_buf->len == _rx_buf_offset) + if (!_rx_buf || _rx_buf_offset == _rx_buf->len) return -1; char c = reinterpret_cast(_rx_buf->payload)[_rx_buf_offset]; @@ -215,8 +215,8 @@ public: char peek() { - if (!_rx_buf) - return 0; + if (!_rx_buf || _rx_buf_offset == _rx_buf->len) + return -1; return reinterpret_cast(_rx_buf->payload)[_rx_buf_offset]; }