mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-29 22:24:26 +00:00 
			
		
		
		
	adjust
This commit is contained in:
		| @@ -31,19 +31,17 @@ void MDNSComponent::setup() { | ||||
|   mdns_instance_name_set(this->hostname_.c_str()); | ||||
|  | ||||
|   for (const auto &service : services) { | ||||
|     FixedVector<mdns_txt_item_t> txt_records; | ||||
|     txt_records.init(service.txt_records.size()); | ||||
|     for (const auto &record : service.txt_records) { | ||||
|       mdns_txt_item_t it{}; | ||||
|     auto txt_records = std::make_unique<mdns_txt_item_t[]>(service.txt_records.size()); | ||||
|     for (size_t i = 0; i < service.txt_records.size(); i++) { | ||||
|       const auto &record = service.txt_records[i]; | ||||
|       // key and value are either compile-time string literals in flash or pointers to dynamic_txt_values_ | ||||
|       // Both remain valid for the lifetime of this function, and ESP-IDF makes internal copies | ||||
|       it.key = MDNS_STR_ARG(record.key); | ||||
|       it.value = MDNS_STR_ARG(record.value); | ||||
|       txt_records.push_back(it); | ||||
|       txt_records[i].key = MDNS_STR_ARG(record.key); | ||||
|       txt_records[i].value = MDNS_STR_ARG(record.value); | ||||
|     } | ||||
|     uint16_t port = const_cast<TemplatableValue<uint16_t> &>(service.port).value(); | ||||
|     err = mdns_service_add(nullptr, MDNS_STR_ARG(service.service_type), MDNS_STR_ARG(service.proto), port, | ||||
|                            txt_records.begin(), txt_records.size()); | ||||
|                            txt_records.get(), service.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)); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user