From: Paul Eggert Date: Tue, 10 Aug 2010 17:39:30 +0000 (-0700) Subject: strtod: fix const diagnostic X-Git-Tag: v0.1~3942 X-Git-Url: http://erislabs.net/gitweb/?p=gnulib.git;a=commitdiff_plain;h=b88cc81f2204d45dc587eeda1f887bfe27987ef0 strtod: fix const diagnostic * lib/strtod.c (strtod): Don't assign const char * to char *, as this elicits a warning from GCC when warnings are enabled. --- diff --git a/ChangeLog b/ChangeLog index dffc9ed62..b6e888764 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-08-10 Paul Eggert + + strtod: fix const diagnostic + * lib/strtod.c (strtod): Don't assign const char * to char *, + as this elicits a warning from GCC when warnings are enabled. + 2010-08-10 Pádraig Brady and Eric Blake diff --git a/lib/strtod.c b/lib/strtod.c index 94eb8175e..64b62ffd2 100644 --- a/lib/strtod.c +++ b/lib/strtod.c @@ -200,7 +200,8 @@ strtod (const char *nptr, char **endptr) double num; const char *s = nptr; - char *end; + const char *end; + char *endbuf; /* Eat whitespace. */ while (locale_isspace (*s)) @@ -211,7 +212,8 @@ strtod (const char *nptr, char **endptr) if (*s == '-' || *s == '+') ++s; - num = underlying_strtod (s, &end); + num = underlying_strtod (s, &endbuf); + end = endbuf; if (c_isdigit (s[*s == '.'])) { @@ -224,7 +226,10 @@ strtod (const char *nptr, char **endptr) if (! c_isxdigit (s[2 + (s[2] == '.')])) end = s + 1; else if (end <= s + 2) - num = parse_number (s + 2, 16, 2, 4, 'p', &end); + { + num = parse_number (s + 2, 16, 2, 4, 'p', &endbuf); + end = endbuf; + } else { const char *p = s + 2;