From 5cb086bc05681e0e8ecc780631a04803089f73b2 Mon Sep 17 00:00:00 2001 From: Martin Ayotte Date: Wed, 9 Sep 2015 12:03:07 -0400 Subject: [PATCH] temporarly fix for handling PGM_P content_type properly in ESP8266WebServer::send_P() functions --- libraries/ESP8266WebServer/src/ESP8266WebServer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp index 2bd6bbea1..722751660 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp @@ -164,14 +164,18 @@ void ESP8266WebServer::send_P(int code, PGM_P content_type, PGM_P content) { } String header; - _prepareHeader(header, code, String(FPSTR(content_type)).c_str(), contentLength); + char type[64]; + memccpy_P((void*)type, (PGM_VOID_P)content_type, 0, sizeof(type)); + _prepareHeader(header, code, (const char* )type, contentLength); sendContent(header); sendContent_P(content); } void ESP8266WebServer::send_P(int code, PGM_P content_type, PGM_P content, size_t contentLength) { String header; - _prepareHeader(header, code, String(FPSTR(content_type)).c_str(), contentLength); + char type[64]; + memccpy_P((void*)type, (PGM_VOID_P)content_type, 0, sizeof(type)); + _prepareHeader(header, code, (const char* )type, contentLength); sendContent(header); sendContent_P(content, contentLength); }