mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-06 17:31:46 +00:00
parent
4197e432e9
commit
53e8a68c38
@ -225,7 +225,7 @@ struct Sequence::Main
|
|||||||
|
|
||||||
Xml_node const config_xml = config_rom.xml();
|
Xml_node const config_xml = config_rom.xml();
|
||||||
|
|
||||||
int next_xml_index = 0;
|
unsigned next_xml_index = 0;
|
||||||
|
|
||||||
void start_next_child();
|
void start_next_child();
|
||||||
|
|
||||||
@ -266,15 +266,20 @@ void Sequence::Main::start_next_child()
|
|||||||
if (constructed)
|
if (constructed)
|
||||||
child.destruct();
|
child.destruct();
|
||||||
|
|
||||||
try { while (true) {
|
bool finished = false;
|
||||||
|
while (true) {
|
||||||
|
if (next_xml_index >= config_xml.num_sub_nodes()) {
|
||||||
|
finished = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
Xml_node sub_node = config_xml.sub_node(next_xml_index++);
|
Xml_node sub_node = config_xml.sub_node(next_xml_index++);
|
||||||
if (sub_node.type() != "start")
|
if (sub_node.type() != "start")
|
||||||
continue;
|
continue;
|
||||||
child.construct(env, sub_node, exit_handler);
|
child.construct(env, sub_node, exit_handler);
|
||||||
break;
|
break;
|
||||||
} }
|
}
|
||||||
|
|
||||||
catch (Xml_node::Nonexistent_sub_node) {
|
if (finished) {
|
||||||
|
|
||||||
if (config_xml.attribute_value("repeat", false)) {
|
if (config_xml.attribute_value("repeat", false)) {
|
||||||
next_xml_index = 0;
|
next_xml_index = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user