Skip to content

Commit 61eff0c

Browse files
committed
Fixed join
1 parent 24ecc6d commit 61eff0c

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/svd/register.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::ops::Deref;
22

33
use xmltree::Element;
4+
use ElementExt;
45

56
use types::{Parse, Encode};
67
use ::error::{SVDError};
@@ -54,10 +55,11 @@ impl Encode for Register {
5455
fn encode(&self) -> Result<Element, SVDError> {
5556
match *self {
5657
Register::Single(ref info) => info.encode(),
57-
Register::Array(ref info, ref _array_info) => {
58-
// TODO: support Register array encoding
59-
// This does not encode array stuff, and I'm not even slightly sure what to do here
60-
info.encode()
58+
Register::Array(ref info, ref array_info) => {
59+
// TODO: is this correct? probably not, need tests
60+
let mut base = info.encode()?;
61+
base.merge(&array_info.encode()?);
62+
Ok(base)
6163
}
6264
}
6365
}

src/svd/registerclusterarrayinfo.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ impl Encode for RegisterClusterArrayInfo {
4040
e.children.push(new_element("dimIncrement", Some(format!("{}", self.dim_increment))));
4141

4242
if let Some(ref di) = self.dim_index {
43-
//TODO: this should be a join, but I don't have docs rn
44-
e.children.push(new_element("dimIndex", Some(format!("{},{}", di[0], di[1]))));
43+
e.children.push(new_element("dimIndex", Some(di.join(","))));
4544
}
4645

4746
Ok(e)

0 commit comments

Comments
 (0)