From 6195de98c48a43f1c9d7838e8d2d9d11a1ae3571 Mon Sep 17 00:00:00 2001 From: Oxore Date: Tue, 1 Oct 2019 00:07:36 +0300 Subject: Fix hex parsing using radix 16 instead of 10 --- src/ram.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ram.rs') diff --git a/src/ram.rs b/src/ram.rs index 34723cb..a886db3 100644 --- a/src/ram.rs +++ b/src/ram.rs @@ -46,11 +46,11 @@ impl HexLine { if &s[0..1] != ":" { return Err(0) } - let offset = match (&s[3..7]).parse::() { + let offset = match u16::from_str_radix(&s[3..7], 16) { Ok(value) => value, Err(_) => return Err(3), }; - let bytecount = match(&s[1..3]).parse::() { + let bytecount = match usize::from_str_radix(&s[1..3], 16) { Ok(value) => value, Err(_) => return Err(1), }; @@ -62,7 +62,7 @@ impl HexLine { let mut counter = 9; let mut data = vec![]; while counter < s.len() - 2 && counter < (9 + bytecount * 2) { - data.push(match(&s[counter..counter+2]).parse::() { + data.push(match u8::from_str_radix(&s[counter..counter+2], 16) { Ok(value) => value, Err(_) => return Err(counter), }); -- cgit v1.2.3