Mercurial > hg > octave-lyh > gnulib-hg
changeset 13878:f120aacf676a
ftoastr: port to hosts lacking strtof and strtold
Problem reported by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
* lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
environment and strtold (and presumably strtof) are not available.
* modules/ftoastr (Files): Add m4/c-strtod.m4.
(configure.ac): Require gl_C99_STRTOLD.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Thu, 18 Nov 2010 17:31:52 -0800 |
parents | 5fb52cb372b0 |
children | 608c8fdccab5 |
files | ChangeLog lib/ftoastr.c modules/ftoastr |
diffstat | 3 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-11-18 Paul Eggert <eggert@cs.ucla.edu> + + ftoastr: port to hosts lacking strtof and strtold + Problem reported by Bruno Haible in + <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>. + * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99 + environment and strtold (and presumably strtof) are not available. + * modules/ftoastr (Files): Add m4/c-strtod.m4. + (configure.ac): Require gl_C99_STRTOLD. + 2010-11-18 Bruno Haible <bruno@clisp.org> c-strtold: Avoid link error on AIX 7.
--- a/lib/ftoastr.c +++ b/lib/ftoastr.c @@ -48,6 +48,14 @@ # define STRTOF strtof #endif +/* On pre-C99 hosts, approximate strtof and strtold with strtod. This + may generate one or two extra digits, but that's better than not + working at all. Assume that strtof works if strtold does. */ +#if LENGTH != 2 && ! HAVE_C99_STRTOLD +# undef STRTOF +# define STRTOF strtod +#endif + int FTOASTR (char *buf, size_t bufsize, int flags, int width, FLOAT x) {