diff --git a/src/header/stdio/scanf.rs b/src/header/stdio/scanf.rs index 1d89cc54e6..ef6970fd8a 100644 --- a/src/header/stdio/scanf.rs +++ b/src/header/stdio/scanf.rs @@ -212,6 +212,10 @@ pub unsafe fn inner_scanf( } width = width.map(|w| w - 1); if !read!() { + if character == '0' { + // Parse last 0 as number instead of radix + break; + } return Ok(matched); } if width.map(|w| w > 0).unwrap_or(true)