From 6d1288c806a176e39d7e77a1cd6f245274db623a Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 18 Oct 2025 20:44:36 -1000 Subject: [PATCH] [mdns] Use FixedVector for TXT records to reduce ESP32 flash usage --- esphome/components/mdns/mdns_esp32.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/esphome/components/mdns/mdns_esp32.cpp b/esphome/components/mdns/mdns_esp32.cpp index f2cb2d3ef5..170a05a90e 100644 --- a/esphome/components/mdns/mdns_esp32.cpp +++ b/esphome/components/mdns/mdns_esp32.cpp @@ -31,7 +31,8 @@ void MDNSComponent::setup() { mdns_instance_name_set(this->hostname_.c_str()); for (const auto &service : services) { - std::vector txt_records; + FixedVector txt_records; + txt_records.init(service.txt_records.size()); for (const auto &record : service.txt_records) { mdns_txt_item_t it{}; // key and value are either compile-time string literals in flash or pointers to dynamic_txt_values_ @@ -42,7 +43,7 @@ void MDNSComponent::setup() { } uint16_t port = const_cast &>(service.port).value(); err = mdns_service_add(nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port, - txt_records.data(), txt_records.size()); + txt_records.begin(), txt_records.size()); if (err != ESP_OK) { ESP_LOGW(TAG, "Failed to register service %s: %s", MDNS_STR_ARG(service.service_type), esp_err_to_name(err));