Skip to content

Commit

Permalink
Trim 0b/0o/0x prefixes when parsing numbers.
Browse files Browse the repository at this point in the history
  • Loading branch information
cuiwc committed Jul 3, 2024
1 parent 8d73d08 commit c874249
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/header.rs
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,12 @@ fn cap_mode(mode: u32) -> u32 {

fn parse_number(field_name: &str, bytes: &[u8], radix: u32) -> Result<u64> {
if let Ok(string) = str::from_utf8(bytes) {
let string = match radix {
2 => string.trim_start_matches("0b"),
8 => string.trim_start_matches("0o"),
16 => string.trim_start_matches("0x"),
_ => string,
};
if let Ok(value) = u64::from_str_radix(string.trim_end(), radix) {
return Ok(value);
}
Expand Down

0 comments on commit c874249

Please sign in to comment.