Skip to content

_find_matching_zoneinfo_file returns filename only, causing _from_etc_localtime to fail #14

@autarch

Description

@autarch

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 $real_name 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions