[glib] Make g_ascii_strtod behave as documented
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Make g_ascii_strtod behave as documented
- Date: Fri, 21 Oct 2011 19:00:44 +0000 (UTC)
commit e52437982c4dd1c88459f3eed0d8ad1dc167c0eb
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Oct 21 14:57:47 2011 -0400
Make g_ascii_strtod behave as documented
The docs explicitly state that we reset errno, so lets do that,
even if we just wrap strtod_l. Also move the argument check
out of the ifdef.
https://bugzilla.gnome.org/show_bug.cgi?id=662398
glib/gstrfuncs.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c
index b9b4cab..01ca718 100644
--- a/glib/gstrfuncs.c
+++ b/glib/gstrfuncs.c
@@ -673,12 +673,16 @@ g_strtod (const gchar *nptr,
* you can reliably detect overflow and underflow.
*
* Return value: the #gdouble value.
- **/
+ */
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;
@@ -690,8 +694,6 @@ g_ascii_strtod (const gchar *nptr,
const char *end = NULL; /* Silence gcc */
int strtod_errno;
- g_return_val_if_fail (nptr != NULL, 0);
-
fail_pos = NULL;
locale_data = localeconv ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]