Index: lib/sdk/crt/string/scanf.h =================================================================== --- lib/sdk/crt/string/scanf.h (revision 58519) +++ lib/sdk/crt/string/scanf.h (working copy) @@ -306,7 +306,12 @@ } st = 1; if (!suppress) { - if (L_prefix) _SET_NUMBER_(long double); + /* Use double instead of long double as double is + * compatible with msvc's long double on both + * compilers (Mingw's long double is 12 bytes, while + * msvc's is 8. double is 8 bytes on both compilers) + */ + if (L_prefix) _SET_NUMBER_(double); else if (l_prefix) _SET_NUMBER_(double); else _SET_NUMBER_(float); }