From bce4a9c9abc8eaabc65de68a0b7c7d4262d5cc14 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 2 Feb 2026 17:45:25 +0100 Subject: [PATCH 1/2] force in --- esphome/components/logger/logger.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/esphome/components/logger/logger.h b/esphome/components/logger/logger.h index 64ca4d1217..ee54845a8e 100644 --- a/esphome/components/logger/logger.h +++ b/esphome/components/logger/logger.h @@ -601,7 +601,8 @@ class Logger : public Component { // Updates buffer_at with the formatted length, handling truncation: // - When vsnprintf truncates (ret >= remaining), it writes (remaining - 1) chars + null terminator // - When it doesn't truncate (ret < remaining), it writes ret chars + null terminator - static inline void HOT process_vsnprintf_result_(char *buffer, uint16_t *buffer_at, uint16_t remaining, int ret) { + __attribute__((always_inline)) static inline void process_vsnprintf_result_(char *buffer, uint16_t *buffer_at, + uint16_t remaining, int ret) { if (ret < 0) return; // Encoding error, do not increment buffer_at *buffer_at += (ret >= remaining) ? (remaining - 1) : static_cast(ret); From bd3b7aa50adcbeeb5219a7fd21fed4a378c0825b Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 2 Feb 2026 21:52:34 +0100 Subject: [PATCH 2/2] naming --- esphome/components/logger/logger.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/esphome/components/logger/logger.h b/esphome/components/logger/logger.h index ee54845a8e..40ac9a38aa 100644 --- a/esphome/components/logger/logger.h +++ b/esphome/components/logger/logger.h @@ -601,8 +601,8 @@ class Logger : public Component { // Updates buffer_at with the formatted length, handling truncation: // - When vsnprintf truncates (ret >= remaining), it writes (remaining - 1) chars + null terminator // - When it doesn't truncate (ret < remaining), it writes ret chars + null terminator - __attribute__((always_inline)) static inline void process_vsnprintf_result_(char *buffer, uint16_t *buffer_at, - uint16_t remaining, int ret) { + __attribute__((always_inline)) static inline void process_vsnprintf_result(const char *buffer, uint16_t *buffer_at, + uint16_t remaining, int ret) { if (ret < 0) return; // Encoding error, do not increment buffer_at *buffer_at += (ret >= remaining) ? (remaining - 1) : static_cast(ret); @@ -617,7 +617,7 @@ class Logger : public Component { if (*buffer_at >= buffer_size) return; const uint16_t remaining = buffer_size - *buffer_at; - process_vsnprintf_result_(buffer, buffer_at, remaining, vsnprintf(buffer + *buffer_at, remaining, format, args)); + process_vsnprintf_result(buffer, buffer_at, remaining, vsnprintf(buffer + *buffer_at, remaining, format, args)); } #ifdef USE_STORE_LOG_STR_IN_FLASH @@ -627,7 +627,7 @@ class Logger : public Component { if (*buffer_at >= buffer_size) return; const uint16_t remaining = buffer_size - *buffer_at; - process_vsnprintf_result_(buffer, buffer_at, remaining, vsnprintf_P(buffer + *buffer_at, remaining, format, args)); + process_vsnprintf_result(buffer, buffer_at, remaining, vsnprintf_P(buffer + *buffer_at, remaining, format, args)); } #endif