libcamera: yaml_parser: Return nullopt on error
The YamlParser::getList<>() function returns an std::optional<> to allow callers to identify cases where parsing the .yaml file failed from cases where the parsed list is just empty. The current implementation returns a default constructed std::optional in case of errors with return {}; The returned value is thus equal to std::nullopt, but the code can be easily misinterpreted as returning an empty vector by a reader. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
ac54f2ac6d
commit
2e77ccbb93
1 changed files with 2 additions and 2 deletions
|
@ -319,7 +319,7 @@ template<typename T,
|
|||
std::optional<std::vector<T>> YamlObject::getList() const
|
||||
{
|
||||
if (type_ != Type::List)
|
||||
return {};
|
||||
return std::nullopt;
|
||||
|
||||
std::vector<T> values;
|
||||
values.reserve(list_.size());
|
||||
|
@ -327,7 +327,7 @@ std::optional<std::vector<T>> YamlObject::getList() const
|
|||
for (const YamlObject &entry : asList()) {
|
||||
const auto value = entry.get<T>();
|
||||
if (!value)
|
||||
return {};
|
||||
return std::nullopt;
|
||||
values.emplace_back(*value);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue