Skip to content

Commit

Permalink
Tweaks from review
Browse files Browse the repository at this point in the history
  • Loading branch information
mkeeter committed Apr 16, 2024
1 parent 6f650be commit bdd3992
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions humility-doppel/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -323,21 +323,27 @@ pub struct RingbufEntry {
}

#[derive(Clone, Debug)]
pub struct RingbufCount(pub u32);
pub struct RingbufCount(Option<u64>);

impl humility::reflect::Load for RingbufCount {
fn from_value(v: &Value) -> Result<Self> {
match v.as_base()? {
Base::U16(v) => Ok(Self(u32::from(*v))),
Base::U32(v) => Ok(Self(*v)),
_ => bail!("not a u32 or u16: {v:?}"),
Base::U0 => Ok(Self(None)),
Base::U8(v) => Ok(Self(Some(u64::from(*v)))),
Base::U16(v) => Ok(Self(Some(u64::from(*v)))),
Base::U32(v) => Ok(Self(Some(u64::from(*v)))),
Base::U64(v) => Ok(Self(Some(*v))),
_ => bail!("not an unsigned integer: {v:?}"),
}
}
}

impl std::fmt::Display for RingbufCount {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.0.fmt(f)
match self.0 {
Some(v) => v.fmt(f),
None => "()".fmt(f),
}
}
}

Expand Down

0 comments on commit bdd3992

Please sign in to comment.