Skip to content

Commit d672f46

Browse files
authored
Merge pull request #247 from rust-embedded/cluster-modify
Fix cluster _modify
2 parents f30e86b + d01fc1e commit d672f46

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

Diff for: src/patch/mod.rs

+18-20
Original file line numberDiff line numberDiff line change
@@ -578,27 +578,25 @@ fn make_cluster(cadd: &Hash, path: Option<&BlockPath>) -> Result<ClusterInfoBuil
578578
let mut cnew = ClusterInfo::builder()
579579
.description(opt_interpolate(&path, cadd.get_str("description")?))
580580
.derived_from(opt_interpolate(&path, cadd.get_str("derivedFrom")?))
581-
.default_register_properties(get_register_properties(cadd)?)
582-
.children(match cadd.get_hash("registers")? {
583-
Some(h) => {
584-
let mut ch = Vec::new();
585-
for (rname, val) in h {
586-
ch.push(RegisterCluster::Register({
587-
let radd = val.hash()?;
588-
let reg = make_register(radd, None)?
589-
.name(rname.str()?.into())
590-
.build(VAL_LVL)?;
591-
if let Some(dim) = make_dim_element(radd)? {
592-
reg.array(dim.build(VAL_LVL)?)
593-
} else {
594-
reg.single()
595-
}
596-
}));
581+
.default_register_properties(get_register_properties(cadd)?);
582+
583+
if let Some(h) = cadd.get_hash("registers")? {
584+
let mut ch = Vec::new();
585+
for (rname, val) in h {
586+
ch.push(RegisterCluster::Register({
587+
let radd = val.hash()?;
588+
let reg = make_register(radd, None)?
589+
.name(rname.str()?.into())
590+
.build(VAL_LVL)?;
591+
if let Some(dim) = make_dim_element(radd)? {
592+
reg.array(dim.build(VAL_LVL)?)
593+
} else {
594+
reg.single()
597595
}
598-
ch
599-
}
600-
_ => Vec::new(),
601-
});
596+
}));
597+
}
598+
cnew = cnew.children(ch);
599+
}
602600

603601
if let Some(name) = cadd.get_str("name")? {
604602
cnew = cnew.name(name.into());

0 commit comments

Comments
 (0)