From 243cc15a804aa45e5060ca6f9198ce228d61014f Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 22 Dec 2022 00:05:45 +1100 Subject: util/options.cpp: Fixed issue when copying options that don't carry values. --- src/lib/util/options.cpp | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'src/lib/util/options.cpp') diff --git a/src/lib/util/options.cpp b/src/lib/util/options.cpp index 890a48f0727..f08e97b7985 100644 --- a/src/lib/util/options.cpp +++ b/src/lib/util/options.cpp @@ -425,12 +425,12 @@ const char *core_options::simple_entry::value() const noexcept { switch (type()) { - case core_options::option_type::BOOLEAN: - case core_options::option_type::INTEGER: - case core_options::option_type::FLOAT: - case core_options::option_type::STRING: - case core_options::option_type::PATH: - case core_options::option_type::MULTIPATH: + case option_type::BOOLEAN: + case option_type::INTEGER: + case option_type::FLOAT: + case option_type::STRING: + case option_type::PATH: + case option_type::MULTIPATH: return m_data.c_str(); default: @@ -502,12 +502,24 @@ bool core_options::simple_entry::internal_copy_value(const entry &that) } else { - validate(simple->m_data); + switch (simple->type()) + { + case option_type::BOOLEAN: + case option_type::INTEGER: + case option_type::FLOAT: + case option_type::STRING: + case option_type::PATH: + case option_type::MULTIPATH: + validate(simple->m_data); - m_data = simple->m_data; - m_data_unsubst = simple->m_data_unsubst; + m_data = simple->m_data; + m_data_unsubst = simple->m_data_unsubst; - return true; + return true; + + default: + return false; + } } } -- cgit v1.2.3-70-g09d2