diff --git a/code/espurna/debug.ino b/code/espurna/debug.ino index c114f874..c9139b76 100644 --- a/code/espurna/debug.ino +++ b/code/espurna/debug.ino @@ -20,16 +20,22 @@ void debugSend(const char * format, ...) { va_list args; va_start(args, format); - ets_vsnprintf(buffer, DEBUG_MESSAGE_MAX_LENGTH, format, args); + int len = ets_vsnprintf(buffer, DEBUG_MESSAGE_MAX_LENGTH, format, args); va_end(args); #ifdef DEBUG_PORT DEBUG_PORT.printf(buffer); + if (len > DEBUG_MESSAGE_MAX_LENGTH) { + DEBUG_PORT.printf(" (...)\n"); + } #endif #ifdef DEBUG_UDP_IP udpDebug.beginPacket(DEBUG_UDP_IP, DEBUG_UDP_PORT); udpDebug.write(buffer); + if (len > DEBUG_MESSAGE_MAX_LENGTH) { + udpDebug.write(" (...)\n"); + } udpDebug.endPacket(); #endif @@ -37,23 +43,29 @@ void debugSend(const char * format, ...) { void debugSend_P(PGM_P format, ...) { - char buffer[DEBUG_MESSAGE_MAX_LENGTH+1]; - char f[DEBUG_MESSAGE_MAX_LENGTH+1]; memcpy_P(f, format, DEBUG_MESSAGE_MAX_LENGTH); + char buffer[DEBUG_MESSAGE_MAX_LENGTH+1]; + va_list args; va_start(args, format); - ets_vsnprintf(buffer, DEBUG_MESSAGE_MAX_LENGTH, f, args); + int len = ets_vsnprintf(buffer, DEBUG_MESSAGE_MAX_LENGTH, f, args); va_end(args); #ifdef DEBUG_PORT DEBUG_PORT.printf(buffer); + if (len > DEBUG_MESSAGE_MAX_LENGTH) { + DEBUG_PORT.printf(" (...)\n"); + } #endif #ifdef DEBUG_UDP_IP udpDebug.beginPacket(DEBUG_UDP_IP, DEBUG_UDP_PORT); udpDebug.write(buffer); + if (len > DEBUG_MESSAGE_MAX_LENGTH) { + udpDebug.write(" (...)\n"); + } udpDebug.endPacket(); #endif