This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Create Strtod()
authorKarl Williamson <khw@cpan.org>
Thu, 18 Apr 2019 04:22:48 +0000 (22:22 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 19 Apr 2019 16:26:59 +0000 (10:26 -0600)
commit9ec8aea5c056c7d3ffc270a57c9fb123a6416473
tree83266c685998f971684e5ceaecb6d75ca5b30f06
parente8aa9efe194720b3919085f4299f812d661d5d53
Create Strtod()

This commit creates my_strod() and a synonym, Strtod(), to emulate
strtod() using the most precise function known to us that is available
on the platform.  strtod() is not in K&R, but is in C90, so atof() may
be silently substituted instead on those few platforms without it.

This function also correctly handles locale issues, such as if the radix
character should be a dot or comma (or something else) depending on the
parent perl code is using locale or not, and which locale.

The symbol Perl_strtod continues to be defined on platforms which have
some version of strtod(), for backward compatibility, and can be called
as a function (or rather macro) but most applications should just use
Strtod() and not sweat the details.

This commit also fixes the problems with the prior commit:
    commit 4ac6fab20b8950ee14756c6f2438809c572082cd
     Author: Karl Williamson <khw@cpan.org>
     Date:   Mon Apr 15 11:10:31 2019 -0600

         PATCH: [perl #133945] Perl_strtod failures

         This commit wraps Perl_strtod() in macros that cause the proper
         radix character to be used.
embed.fnc
embed.h
numeric.c
perl.h
pod/perldelta.pod
proto.h