Skip to content

Commit 7e1e611

Browse files
committed
WiFiClient: fix progmem reads
1 parent 94b3f41 commit 7e1e611

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

libraries/ESP8266WebServer/src/ESP8266WebServer.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,9 @@ void ESP8266WebServer::sendHeader(const String& name, const String& value, bool
241241
}
242242
}
243243

244+
void ESP8266WebServer::setContentLength(size_t contentLength) {
245+
_contentLength = contentLength;
246+
}
244247

245248
void ESP8266WebServer::_prepareHeader(String& response, int code, const char* content_type, size_t contentLength) {
246249
response = "HTTP/1.1 ";

libraries/ESP8266WebServer/src/ESP8266WebServer.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class ESP8266WebServer
112112
void send_P(int code, PGM_P content_type, PGM_P content);
113113
void send_P(int code, PGM_P content_type, PGM_P content, size_t contentLength);
114114

115-
void setContentLength(size_t contentLength) { _contentLength = contentLength; }
115+
void setContentLength(size_t contentLength);
116116
void sendHeader(const String& name, const String& value, bool first = false);
117117
void sendContent(const String& content);
118118
void sendContent_P(PGM_P content);

libraries/ESP8266WiFi/src/include/DataStrategyImpl.h

+2
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ class ProgmemSource
136136
{
137137
size_t will_read = (_left < size) ? _left : size;
138138
memcpy_P((void*)dst, (PGM_VOID_P)_buf, will_read);
139+
_left -= will_read;
140+
_buf += will_read;
139141
return will_read;
140142
}
141143

0 commit comments

Comments
 (0)