Open autarch opened 7 years ago
From drolsky@cpan.org (@autarch) on 2006-05-21 17:53:03:
On Sun Oct 02 01:19:51 2005, guest wrote:
DateTime::TimeZone version 0.36 Perl version 5.005_03 FreeBSD 4.10
On line 151 of my version of DateTime::TimeZone::Local, the variable $realname is assigned the value of $ in the subroutine _find_matching_zoneinfo_file. On my system, that is only the filename without any directory component. Thus a timezone of "America/Los_Angeles" only assigns the value "Los_Angeles" to $real_name. When it gets back up into _from_etc_localtime, "Los_Angeles" is not a valid time zone and therefore DateTime::TimeZone->new() fails on line 71.
To fix this, I modified line 151 to read:
$real_name = $File::Find::name;
This returns the file path in $real_name, ultimately ending up with the correct timezone of "America/Los_Angeles" in _from_etc_localtime.
I have not tested version 0.37, but it appears the line in question has not changed in that version.
My version of File::Find does not seem to contain a version number.
This should have been fixed a while back when I changed the code to call File::Find with the nochdir option. In that case, the value of $ and $File::Find::name should be the same inside the callback, per the File::Find docs. However, that change was back in 0.2507.
Are you still seeing this problem?
Migrated from rt.cpan.org #14874 (status was 'stalled')
Requestors:
From on 2005-10-02 05:19:51:
DateTime::TimeZone version 0.36 Perl version 5.005_03 FreeBSD 4.10
On line 151 of my version of DateTime::TimeZone::Local, the variable $realname is assigned the value of $ in the subroutine _find_matching_zoneinfo_file. On my system, that is only the filename without any directory component. Thus a timezone of "America/Los_Angeles" only assigns the value "Los_Angeles" to $real_name. When it gets back up into _from_etc_localtime, "Los_Angeles" is not a valid time zone and therefore DateTime::TimeZone->new() fails on line 71.
To fix this, I modified line 151 to read:
This returns the file path in $real_name, ultimately ending up with the correct timezone of "America/Los_Angeles" in _from_etc_localtime.
I have not tested version 0.37, but it appears the line in question has not changed in that version.
My version of File::Find does not seem to contain a version number.