--- a/glib/tsrc/BC/tests/strtod-test.c Tue Aug 31 16:54:36 2010 +0300
+++ b/glib/tsrc/BC/tests/strtod-test.c Wed Sep 01 12:36:54 2010 +0100
@@ -116,19 +116,44 @@
test_string ("-.75,0", -0.75, TRUE, 4);
+#ifndef SYMBIAN
d = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0;
+#else
+ d=1.79769313486232e+307;
+#endif
g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
+#ifndef SYMBIAN
d = -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0;
+#else
+ d = -1.79769313486232e+307;
+#endif
g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
- d = pow (2.0, -1021.1);
+ d = pow (2.0, -1024.1);
+#ifndef SYMBIAN
g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
+#else
+ gstr1 = g_ascii_dtostr (buffer, sizeof (buffer),d);
+ gstr2 = "5.19016829648363e-309";
+ g_assert (gstr1 != gstr2 && strcmp(gstr1, gstr2) == 0);
+ gd = g_ascii_strtod (gstr1, NULL);
+ g_assert (gd == 5.190168296483632e-309);
+#endif
+
- d = -pow (2.0, -1021.1);
+ d = -pow (2.0, -1024.1);
+#ifndef SYMBIAN
g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
+#else
+ gstr1 = g_ascii_dtostr (buffer, sizeof (buffer),d);
+ gstr2 = "-5.19016829648363e-309";
+ g_assert (gstr1 != gstr2 && strcmp(gstr1, gstr2) == 0);
+ gd = g_ascii_strtod (gstr1, NULL);
+ g_assert (gd == -5.190168296483632e-309);
+#endif
#ifdef SYMBIAN
testResultXml("strtod-test");
#endif /* EMULATOR */