This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove alloca() use from Time::Piece for portability.
authorCraig A. Berry <craigberry@mac.com>
Tue, 29 Jun 2010 12:14:39 +0000 (07:14 -0500)
committerCraig A. Berry <craigberry@mac.com>
Tue, 29 Jun 2010 12:14:39 +0000 (07:14 -0500)
commitded2eedcb4ea5645092eea71df32e0f737b89d90
tree4db8fe398cde72505f0de0e4bc90dd0d784b8830
parent86b22379fed2b21897f767d5f96d76a24dd46436
Remove alloca() use from Time::Piece for portability.

In 1.17, T::P started using its own strptime (almost) everywhere,
and this _strptime contains a single reference to alloca().  The
Linux and BSD man pages recommend against using alloca(), the
function  doesn't exist on HP-UX or VMS, and it's impossible to
error check it.  So replace it here with malloc().

If getting three or four bytes from the heap instead of the stack
is considered a problem, an alternative would be researching the
maximum length of a timezone name and using an automatic variable
to hold it.
cpan/Time-Piece/Piece.pm
cpan/Time-Piece/Piece.xs