VarBstrFrom* calls into msvcrt but oleaut32's string representation differs slightly
these tests show that msvcrt behaves as expected and the difference is in oleaut32
From: Daniel Lehman dlehman25@gmail.com
--- dlls/ucrtbase/tests/printf.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/dlls/ucrtbase/tests/printf.c b/dlls/ucrtbase/tests/printf.c index 9a8bbbcff98..75bd7830869 100644 --- a/dlls/ucrtbase/tests/printf.c +++ b/dlls/ucrtbase/tests/printf.c @@ -815,11 +815,30 @@ static void test_printf_fp(void) { "%#.20g", -765, { "-765.00000000000000000" }}, { "%.30f", 1.0/3.0, { "0.333333333333333314829616256247" }}, { "%.30lf", sqrt(2), { "1.414213562373095145474621858739" }}, + { "%f", 3.141592653590000, { "3.141593" }}, + { "%.10f", 3.141592653590000, { "3.1415926536" }}, + { "%.11f", 3.141592653590000, { "3.14159265359" }}, + { "%.15f", 3.141592653590000, { "3.141592653590000" }}, + { "%.15f", M_PI, { "3.141592653589793" }}, + { "%.13f", 37.866261574537077, { "37.8662615745371" }}, + { "%.14f", 37.866261574537077, { "37.86626157453708" }}, + { "%.15f", 37.866261574537077, { "37.866261574537077" }}, { "%.0g", 9.8949714229143402e-05, { "0.0001" }}, { "%.0f", 0.5, { "1", NULL, NULL, NULL, "0" }, {NULL, NULL, NULL, NULL, "1" }}, { "%.0f", 1.5, { "2" }}, { "%.0f", 2.5, { "3", NULL, NULL, NULL, "2" }, {NULL, NULL, NULL, NULL, "3" }}, { "%g", 9.999999999999999e-5, { "0.0001" }}, + + { "%g", 0.0005, { "0.0005" }}, + { "%g", 0.00005, { "5e-05", NULL, "5e-005" }}, + { "%g", 0.000005, { "5e-06", NULL, "5e-006" }}, + { "%g", 999999999999999.0, { "1e+15", NULL, "1e+015" }}, + { "%g", 1000000000000000.0, { "1e+15", NULL, "1e+015" }}, + { "%.15g", 0.0005, { "0.0005" }}, + { "%.15g", 0.00005, { "5e-05", NULL, "5e-005" }}, + { "%.15g", 0.000005, { "5e-06", NULL, "5e-006" }}, + { "%.15g", 999999999999999.0, { "999999999999999" }}, + { "%.15g", 1000000000000000.0, { "1e+15", NULL, "1e+015" }}, };
const char *res = NULL;
From: Daniel Lehman dlehman25@gmail.com
--- dlls/msvcrt/tests/printf.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/dlls/msvcrt/tests/printf.c b/dlls/msvcrt/tests/printf.c index 010cad0ab8f..d221a590a59 100644 --- a/dlls/msvcrt/tests/printf.c +++ b/dlls/msvcrt/tests/printf.c @@ -253,6 +253,24 @@ static void test_sprintf( void ) { "%.0f", "2", 0, DOUBLE_ARG, 0, 0, 1.5 }, { "%.30f", "0.333333333333333310000000000000", 0, TODO_FLAG | DOUBLE_ARG, 0, 0, 1.0/3.0 }, { "%.30lf", "1.414213562373095100000000000000", 0, TODO_FLAG | DOUBLE_ARG, 0, 0, sqrt(2) }, + { "%f", "3.141593", 0, DOUBLE_ARG, 0, 0, 3.141592653590000 }, + { "%.10f", "3.1415926536", 0, DOUBLE_ARG, 0, 0, 3.141592653590000 }, + { "%.11f", "3.14159265359", 0, DOUBLE_ARG, 0, 0, 3.141592653590000 }, + { "%.15f", "3.141592653590000", 0, DOUBLE_ARG, 0, 0, 3.141592653590000 }, + { "%.15f", "3.141592653589793", 0, DOUBLE_ARG, 0, 0, M_PI }, + { "%.13f", "37.8662615745371", 0, DOUBLE_ARG, 0, 0, 37.866261574537077 }, + { "%.14f", "37.86626157453708", 0, DOUBLE_ARG, 0, 0, 37.866261574537077 }, + { "%.15f", "37.866261574537077", 0, DOUBLE_ARG, 0, 0, 37.866261574537077 }, + { "%g", "0.0005", 0, DOUBLE_ARG, 0, 0, 0.0005 }, + { "%g", "5e-005", 0, DOUBLE_ARG, 0, 0, 0.00005 }, + { "%g", "5e-006", 0, DOUBLE_ARG, 0, 0, 0.000005 }, + { "%g", "1e+015", 0, DOUBLE_ARG, 0, 0, 999999999999999.0 }, + { "%g", "1e+015", 0, DOUBLE_ARG, 0, 0, 1000000000000000.0 }, + { "%.15g", "0.0005", 0, DOUBLE_ARG, 0, 0, 0.0005 }, + { "%.15g", "5e-005", 0, DOUBLE_ARG, 0, 0, 0.00005 }, + { "%.15g", "5e-006", 0, DOUBLE_ARG, 0, 0, 0.000005 }, + { "%.15g", "999999999999999", 0, DOUBLE_ARG, 0, 0, 999999999999999.0 }, + { "%.15g", "1e+015", 0, DOUBLE_ARG, 0, 0, 1000000000000000.0 }, };
char buffer[100];
This merge request was approved by Piotr Caban.