diff --git a/src/stdio/src/printf.rs b/src/stdio/src/printf.rs index ead0a05cf3acd82e5cfbf0886e6fdddce3c89cf9..54ce1f7644b09754a2a799585a691c7be626f165 100644 --- a/src/stdio/src/printf.rs +++ b/src/stdio/src/printf.rs @@ -36,7 +36,7 @@ pub unsafe fn printf<W: fmt::Write>(mut w: W, format: *const c_char, mut ap: VaL found_percent = false; } 'f' | 'F' => { - let a: f64 = mem::transmute(ap.get::<u64>()); + let a = ap.get::<f64>(); w.write_fmt(format_args!("{}", a)); diff --git a/tests/atof.c b/tests/atof.c index b6668aab8994f324c10548480d485900e602c5a3..1bfb9d0e220d4029fadb86716017705061958146 100644 --- a/tests/atof.c +++ b/tests/atof.c @@ -2,7 +2,7 @@ #include <stdio.h> int main(int argc, char* argv[]) { - double d = atof("1.0"); + double d = atof("-3.14"); printf("%f\n", d); return 0; } diff --git a/va_list b/va_list index 4762a184501beedbb58ea218f0c84fea85685c35..1945668b2fc6e96c498003dce700ebaf95108fac 160000 --- a/va_list +++ b/va_list @@ -1 +1 @@ -Subproject commit 4762a184501beedbb58ea218f0c84fea85685c35 +Subproject commit 1945668b2fc6e96c498003dce700ebaf95108fac