protocol: parse numbers with colorcode prefix

This commit is contained in:
Denis Drakhnia 2023-10-19 11:55:13 +03:00
parent 32971a15ed
commit 0b8ee3dac1
1 changed files with 8 additions and 1 deletions

View File

@ -65,7 +65,14 @@ macro_rules! impl_get_value {
($($t:ty),+ $(,)?) => {
$(impl<'a> GetKeyValue<'a> for $t {
fn get_key_value(cur: &mut Cursor<'a>) -> Result<Self, Error> {
cur.get_key_value::<&str>()?.parse().map_err(|_| Error::InvalidPacket)
let s = cur.get_key_value::<&str>()?;
// HACK: special case for one asshole
let s = if s.len() > 2 && s.as_bytes()[0] == b'^' && s.as_bytes()[1].is_ascii_digit() {
&s[2..]
} else {
s
};
s.parse().map_err(|_| Error::InvalidPacket)
}
})+
};