libcamera: yaml_parser: Output more details when parsing fails
On malformed yaml files, the yaml parser only errors out without giving details on the error that happened. Fix that by providing a more detailed error message. Output old: ERROR YamlParser yaml_parser.cpp:886 Failed to parse YAML content from /root/imx283.yaml Output new: ERROR YamlParser yaml_parser.cpp:627 /root/imx283.yaml:72:8 could not find expected ':' while scanning a simple key ERROR YamlParser yaml_parser.cpp:886 Failed to parse YAML content from /root/imx283.yaml Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
9fc86dc02a
commit
fa0013c953
1 changed files with 10 additions and 1 deletions
|
@ -509,8 +509,17 @@ YamlParserContext::EventPtr YamlParserContext::nextEvent()
|
||||||
EventPtr event(new yaml_event_t);
|
EventPtr event(new yaml_event_t);
|
||||||
|
|
||||||
/* yaml_parser_parse returns 1 when it succeeds */
|
/* yaml_parser_parse returns 1 when it succeeds */
|
||||||
if (!yaml_parser_parse(&parser_, event.get()))
|
if (!yaml_parser_parse(&parser_, event.get())) {
|
||||||
|
File *file = static_cast<File *>(parser_.read_handler_data);
|
||||||
|
|
||||||
|
LOG(YamlParser, Error) << file->fileName() << ":"
|
||||||
|
<< parser_.problem_mark.line << ":"
|
||||||
|
<< parser_.problem_mark.column << " "
|
||||||
|
<< parser_.problem << " "
|
||||||
|
<< parser_.context;
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue