diff --git a/code/espurna/debug.cpp b/code/espurna/debug.cpp index c6858d62..12bd4416 100644 --- a/code/espurna/debug.cpp +++ b/code/espurna/debug.cpp @@ -166,6 +166,9 @@ void delayedEnable() { } void send(const char* message, size_t len, Timestamp); +void send(const char* message, size_t len) { + send(message, len, build::AddTimestamp); +} void formatAndSend(const char* format, va_list args) { constexpr size_t SmallStringBufferSize { 128 }; @@ -179,18 +182,18 @@ void formatAndSend(const char* format, va_list args) { // strlen(...) + '\0' already in temp buffer, avoid (explicit) dynamic memory when possible // (TODO: printf might still do it anyway internally?) if (static_cast(len) < sizeof(temp)) { - send(temp, len, build::AddTimestamp); + send(temp, len); return; } - len += 1; - auto* buffer = new (std::nothrow) char[len]; + const size_t BufferSize { len + 1 }; + auto* buffer = new (std::nothrow) char[BufferSize]; if (!buffer) { return; } - vsnprintf_P(buffer, len, format, args); - send(buffer, len, build::AddTimestamp); + vsnprintf_P(buffer, BufferSize, format, args); + send(buffer, len); delete[] buffer; }