diff options
Diffstat (limited to 'src/ram.rs')
-rw-r--r-- | src/ram.rs | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -41,10 +41,10 @@ impl HexLine { fn from(s: &str) -> Result<Self, usize> { // The shortest possible sequence is EOF (:00000001FF) if s.len() < 11 { - return Err(usize::max_value()) + return Err(usize::max_value()); } if &s[0..1] != ":" { - return Err(0) + return Err(0); } let offset = match u16::from_str_radix(&s[3..7], 16) { Ok(value) => value, @@ -57,19 +57,27 @@ impl HexLine { // If EOF reached if &s[7..9] == "01" { - return Ok(HexLine { rectyp: Rectyp::EndOfFile, offset, data: vec![0] }) + return Ok(HexLine { + rectyp: Rectyp::EndOfFile, + offset, + data: vec![0], + }); } else if &s[7..9] == "00" { let mut counter = 9; let mut data = vec![]; while counter < s.len() - 2 && counter < (9 + bytecount * 2) { - data.push(match u8::from_str_radix(&s[counter..counter+2], 16) { + data.push(match u8::from_str_radix(&s[counter..counter + 2], 16) { Ok(value) => value, Err(_) => return Err(counter), }); counter += 2; } // TODO: check checksum - return Ok(HexLine { rectyp: Rectyp::Data, offset, data }) + return Ok(HexLine { + rectyp: Rectyp::Data, + offset, + data, + }); } Err(3) |