diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c index 8495697f8..528e66032 100644 --- a/glib/gstrfuncs.c +++ b/glib/gstrfuncs.c @@ -39,9 +39,9 @@ #include #include /* For tolower() */ -#ifdef HAVE_XLOCALE_H -/* Needed on BSD/OS X for e.g. strtod_l */ -#include +#ifdef HAVE_XLOCALE_H +/* Needed on BSD/OS X for e.g. strtod_l */ +#include #endif #ifdef G_OS_WIN32 @@ -683,13 +683,6 @@ gdouble g_ascii_strtod (const gchar *nptr, gchar **endptr) { - g_return_val_if_fail (nptr != NULL, 0); - -#ifdef HAVE_STRTOD_L - errno = 0; - - return strtod_l (nptr, endptr, get_C_locale ()); -#else gchar *fail_pos; gdouble val; struct lconv *locale_data; @@ -699,6 +692,14 @@ g_ascii_strtod (const gchar *nptr, const char *end = NULL; /* Silence gcc */ int strtod_errno; + g_return_val_if_fail (nptr != NULL, 0); + +#ifdef HAVE_STRTOD_L + errno = 0; + + return strtod_l (nptr, endptr, get_C_locale ()); +#else + fail_pos = NULL; locale_data = localeconv ();