Bad do/while fix

Signed-off-by: Sara Damiano <sdamiano@stroudcenter.org>
This commit is contained in:
Sara Damiano
2020-02-18 18:48:35 -05:00
parent 7b40ee2f33
commit 089077fdb7

View File

@@ -270,12 +270,13 @@ class TinyGsmTCP {
inline void dumpModemBuffer(uint32_t maxWaitMs) { inline void dumpModemBuffer(uint32_t maxWaitMs) {
#if defined TINY_GSM_BUFFER_READ_AND_CHECK_SIZE || \ #if defined TINY_GSM_BUFFER_READ_AND_CHECK_SIZE || \
defined TINY_GSM_BUFFER_READ_NO_CHECK defined TINY_GSM_BUFFER_READ_NO_CHECK
TINY_GSM_YIELD(); TINY_GSM_YIELD();
uint32_t startMillis = millis(); uint32_t startMillis = millis();
do { while (sock_available > 0 && (millis() - startMillis < maxWaitMs)) {
rx.clear(); rx.clear();
DBG(TinyGsmMin((uint16_t)rx.free(), sock_available));
at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux); at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
} while (sock_available > 0 && (millis() - startMillis < maxWaitMs)); }
#elif defined TINY_GSM_NO_MODEM_BUFFER #elif defined TINY_GSM_NO_MODEM_BUFFER
// Do nothing // Do nothing