Skip to content

Commit 19e97bf

Browse files
committed
Fix WiFiUDP::peek return value when buffer is empty (#1796)
1 parent 213914e commit 19e97bf

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

libraries/ESP8266WiFi/src/WiFiUdp.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ int WiFiUDP::read(unsigned char* buffer, size_t len)
236236
int WiFiUDP::peek()
237237
{
238238
if (!_ctx)
239-
return 0;
239+
return -1;
240240

241241
return _ctx->peek();
242242
}

libraries/ESP8266WiFi/src/include/UdpContext.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ class UdpContext
190190

191191
int read()
192192
{
193-
if (!_rx_buf || _rx_buf->len == _rx_buf_offset)
193+
if (!_rx_buf || _rx_buf_offset == _rx_buf->len)
194194
return -1;
195195

196196
char c = reinterpret_cast<char*>(_rx_buf->payload)[_rx_buf_offset];
@@ -215,8 +215,8 @@ class UdpContext
215215

216216
char peek()
217217
{
218-
if (!_rx_buf)
219-
return 0;
218+
if (!_rx_buf || _rx_buf_offset == _rx_buf->len)
219+
return -1;
220220

221221
return reinterpret_cast<char*>(_rx_buf->payload)[_rx_buf_offset];
222222
}

0 commit comments

Comments
 (0)