Skip Menu |

This queue is for tickets about the Catalyst-Devel CPAN distribution.

Report information
The Basics
Id: 28092
Status: resolved
Priority: 0/
Queue: Catalyst-Devel

People
Owner: Nobody in particular
Requestors: bits_cpan [...] itools.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.02
Fixed in: 1.03



Subject: %T in fmt of POSIX::strftime call in Catalyst::Helper is not portable - causes infinite loop under Win32
Catalyst::Helper::_mk_changes calls POSIX::strftime on line 390: my $time = strftime('%Y-%m-%d %T', localtime time); the %T parameter causes my Activestate Perl 5.8.8 820 to infinite loop. In fact, perl -MPOSIX -e "print POSIX::strftime('%T', localtime time);" also infinite loops. Nice. The perldoc for POSIX states in the strftime notes: "If you want your code to be portable, your format (fmt ) argument should use only the conversion specifiers defined by the ANSI C standard (C89, to play safe). These are aAbBcdHIjmMpSUwWxXyYZ% ." %T is not in the list. On all the systems I have at my disposal, %H:%M:%S produces equivalent output and uses only the conversion specifiers they recommend. For the sake of saving the next soul who wants to use Catalyst under Win32, which apparently doesn't like %T, suggest changing to: my $time = strftime('%Y-%m-%d %H:%M:%S', localtime time); ---------- perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 50 registered patches, see perl -V for more detail) Copyright 1987-2006, Larry Wall Binary build 820 [274739] provided by ActiveState http://www.ActiveState.com Built Jan 23 2007 15:57:46 ----------- Catalyst-Devel-1.02