diff --git a/src/tokenizer.rs b/src/tokenizer.rs index 0be44347..ca28add3 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -1516,9 +1516,7 @@ fn get_next_token_inner( } else { let out: String = result.iter().filter(|&&c| c != NUMBER_SEPARATOR).collect(); - let num = INT_BASE::from_str(&out) - .map(|v| v as INT) - .map(Token::IntegerConstant); + let num = INT::from_str(&out).map(Token::IntegerConstant); // If integer parsing is unnecessary, try float instead #[cfg(not(feature = "no_float"))] diff --git a/tests/blobs.rs b/tests/blobs.rs index 7036f116..43ba16a1 100644 --- a/tests/blobs.rs +++ b/tests/blobs.rs @@ -136,6 +136,13 @@ fn test_blobs_parse() -> Result<(), Box> { 0x1cf588 ); + assert_eq!( + engine.eval::( + "let x = blob(16, 0); x.write_be(0, 8, 0x1234567890abcdef); x.write_be(8, 8, 0xabcdef1234567890); x" + )?, + vec![0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef, 0xab, 0xcd, 0xef, 0x12, 0x34, 0x56, 0x78, 0x90] + ); + Ok(()) }