From 994b716caadec29fcff2ed3984556f8879f348a6 Mon Sep 17 00:00:00 2001 From: Maxim Prokhorov Date: Sat, 15 Nov 2025 23:32:00 +0300 Subject: [PATCH] led(pattern): check parsing success result is not directly convertible --- code/espurna/led.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/code/espurna/led.cpp b/code/espurna/led.cpp index a41f0e00..5d0c4f94 100644 --- a/code/espurna/led.cpp +++ b/code/espurna/led.cpp @@ -423,7 +423,12 @@ size_t relay(size_t id) { #endif Pattern pattern(size_t id) { - return parse(getSetting({keys::Pattern, id})); + auto result = parse(getSetting({keys::Pattern, id})); + if (result.ok) { + return result.value; + } + + return Pattern{}; } void migrate(int version) { @@ -790,8 +795,11 @@ void payload_status(Led& led, StringView payload) { case PayloadStatus::Unknown: if (!payload_mode(led, payload)) { - led.override_pattern(parse(payload)); - led.status(true); + auto result = parse(payload); + if (result.ok) { + led.override_pattern(std::move(result.value)); + led.status(true); + } } break; }