pub fn parse_number(input: &str) -> IResult<&str, i64>Expand description
Parse a decimal or hexadecimal number
Supports both decimal (123, -456) and hexadecimal (0x1a2b, -0xFF) formats.
§Examples
use libmagic_rs::parser::grammar::parse_number;
assert_eq!(parse_number("123"), Ok(("", 123)));
assert_eq!(parse_number("0x1a"), Ok(("", 26)));
assert_eq!(parse_number("-42"), Ok(("", -42)));
assert_eq!(parse_number("-0xFF"), Ok(("", -255)));§Errors
Returns a nom parsing error if:
- Input is empty or contains no valid digits
- Hexadecimal number lacks proper “0x” prefix or contains invalid hex digits
- Number cannot be parsed as a valid
i64value - Input contains invalid characters for the detected number format