From 1cb920f713c88eecaad600ca81b1e029cce1d7c5 Mon Sep 17 00:00:00 2001 From: ficeto Date: Thu, 7 May 2015 16:42:10 +0300 Subject: [PATCH] fixes for sd server example --- .../examples/SDWebServer/SDWebServer.ino | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libraries/ESP8266WebServer/examples/SDWebServer/SDWebServer.ino b/libraries/ESP8266WebServer/examples/SDWebServer/SDWebServer.ino index 02198fae3..d7e2863af 100644 --- a/libraries/ESP8266WebServer/examples/SDWebServer/SDWebServer.ino +++ b/libraries/ESP8266WebServer/examples/SDWebServer/SDWebServer.ino @@ -87,12 +87,20 @@ bool loadFromSdCard(String path){ uint8_t obuf[WWW_BUF_SIZE]; while (dataFile.available() > WWW_BUF_SIZE){ dataFile.read(obuf, WWW_BUF_SIZE); - client.write(obuf, WWW_BUF_SIZE); + if(client.write(obuf, WWW_BUF_SIZE) != WWW_BUF_SIZE){ + Serial.println("Sent less data than expected!"); + dataFile.close(); + return true; + } } //stream the last data left (size is at most WWW_BUF_SIZE bytes) uint16_t leftLen = dataFile.available(); dataFile.read(obuf, leftLen); - client.write(obuf, leftLen); + if(client.write(obuf, leftLen) != leftLen){ + Serial.println("Sent less data than expected!"); + dataFile.close(); + return true; + } dataFile.close(); return true; @@ -124,7 +132,7 @@ void setup(void){ while (WiFi.status() != WL_CONNECTED && i++ < 20) delay(500); //check if we have connected? - if(i == 20){ + if(i == 21){ Serial.print("Could not connect to"); Serial.println(ssid); //stop execution and wait forever