From 35ca6dafc0fa19819ddd8533d1968d6938be0b9b Mon Sep 17 00:00:00 2001 From: Oliver Kleinecke Date: Wed, 19 Feb 2025 11:56:42 +0100 Subject: [PATCH] fix: update split_to_int_vector_ to accept delimiter as a pointer for improved flexibility --- esphome/components/dynamic_lamp/dynamic_lamp.cpp | 5 +++-- esphome/components/dynamic_lamp/dynamic_lamp.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/esphome/components/dynamic_lamp/dynamic_lamp.cpp b/esphome/components/dynamic_lamp/dynamic_lamp.cpp index c8465091f8..4b1b6f979a 100644 --- a/esphome/components/dynamic_lamp/dynamic_lamp.cpp +++ b/esphome/components/dynamic_lamp/dynamic_lamp.cpp @@ -278,7 +278,8 @@ bool DynamicLampComponent::add_timer(std::string lamp_list_str, bool timer_activ } std::vector DynamicLampComponent::build_lamp_list_from_list_str_(std::string lamp_list_str) { - std::vector lamp_list_vector = this->split_to_int_vector_(lamp_list_str, ","); + std::string delimiter = ","; + std::vector lamp_list_vector = this->split_to_int_vector_(lamp_list_str, &delimiter); std::vector lamp_list; memset(&lamp_list, 0, 16); if (lamp_list_vector.size() > 16) { @@ -336,7 +337,7 @@ void DynamicLampComponent::restore_lamp_values_(uint8_t lamp_number) { this->active_lamps_[lamp_number].active = false; } -std::vector DynamicLampComponent::split_to_int_vector_(std::string lamp_list_str, std::string& delimiter) { +std::vector DynamicLampComponent::split_to_int_vector_(std::string lamp_list_str, std::string* delimiter) { std::vector tokens; std::stringstream sstream; sstream << std::string_view(lamp_list_str); diff --git a/esphome/components/dynamic_lamp/dynamic_lamp.h b/esphome/components/dynamic_lamp/dynamic_lamp.h index 708a977bd6..b2a7e771d9 100644 --- a/esphome/components/dynamic_lamp/dynamic_lamp.h +++ b/esphome/components/dynamic_lamp/dynamic_lamp.h @@ -118,7 +118,7 @@ class DynamicLampComponent : public Component { bool write_state_(uint8_t lamp_number, float state); uint8_t get_lamp_index_by_name_(std::string lamp_name); std::array get_lamp_outputs_by_name_(std::string lamp_name); - std::vector split_to_int_vector_(std::string lamp_list_str, std::string& delimiter); + std::vector split_to_int_vector_(std::string lamp_list_str, std::string* delimiter); std::vector build_lamp_list_from_list_str_(std::string lamp_list_str); CombinedLamp active_lamps_[16];