diff --git a/esphome/components/api/proto.h b/esphome/components/api/proto.h index 33c72522200..2ac8dbd8447 100644 --- a/esphome/components/api/proto.h +++ b/esphome/components/api/proto.h @@ -609,7 +609,7 @@ class ProtoSize { static constexpr uint32_t calc_int32_force(uint32_t field_id_size, int32_t value) { return field_id_size + (value < 0 ? 10 : varint(static_cast(value))); } - static constexpr inline uint32_t ESPHOME_ALWAYS_INLINE calc_uint32(uint32_t field_id_size, uint32_t value) { + static constexpr uint32_t calc_uint32(uint32_t field_id_size, uint32_t value) { return value ? field_id_size + varint(value) : 0; } static constexpr uint32_t calc_uint32_force(uint32_t field_id_size, uint32_t value) { @@ -644,7 +644,7 @@ class ProtoSize { static constexpr uint32_t calc_uint64_force(uint32_t field_id_size, uint64_t value) { return field_id_size + varint(value); } - static constexpr inline uint32_t ESPHOME_ALWAYS_INLINE calc_length(uint32_t field_id_size, size_t len) { + static constexpr uint32_t calc_length(uint32_t field_id_size, size_t len) { return len ? field_id_size + varint(static_cast(len)) + static_cast(len) : 0; } static constexpr uint32_t calc_length_force(uint32_t field_id_size, size_t len) {