Issue with strtod() on non c99 compliant platforms
Peter Kümmel
syntheticpp at gmx.net
Wed Aug 30 22:59:23 PDT 2006
Christian Ehrlicher wrote:
> Hello,
>
> dbus-test breaks on win32 due to the lack of a c99 implementation of strtod(). In one of the tests a hex digit is converted to a double which is only valid for c99 and above (dbus-sysdeps-util.c:~145).
> Since this is (imho) not a windows-only problem, you either should rewrite the test or add a check for a valid c99 environment and provide a correct strtod - implementation if it fails.
>
> Christian
Earlier there was a comment from Havoc:
my patch:
> +#ifndef DBUS_WIN
> _dbus_string_init_const (&str, "0xff");
> if (!_dbus_string_parse_double (&str,
> 0, &val, &pos))
> @@ -848,12 +1174,23 @@
> _dbus_warn ("_dbus_string_parse_double of \"0xff\" returned wrong position %d", pos);
> exit (1);
> }
> +#endif
<Havoc> This doesn't look like it should be #ifndef DBUS_WIN,
<Havoc> at least not without a comment or @todo or FIXME.
<Havoc>
<Havoc> Something I suggested earlier was using a DBUS_WIN_FIXME or DBUS_WIN_TEMPORARY
<Havoc> or something to bracket temporarily-disabled stuff, vs. stuff that's more long term.
Peter
More information about the dbus
mailing list