From 139b03204550cd394877da882fec49b08eba08fa Mon Sep 17 00:00:00 2001 From: Russell Treleaven Date: Thu, 25 Sep 2014 13:18:07 -0400 Subject: [PATCH] improve regular expression to parse Jerusalem timezone files The previous regular expression failed to parse 32 timezone files including Jersusalem. All timezone files are parsed(hopefully correctly) by this regular expression. fs-4762 paritally address. --- scripts/perl/timezone-gen.pl | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scripts/perl/timezone-gen.pl b/scripts/perl/timezone-gen.pl index 281f88556c..6127005062 100755 --- a/scripts/perl/timezone-gen.pl +++ b/scripts/perl/timezone-gen.pl @@ -55,16 +55,13 @@ foreach my $name ( sort( keys(%name_to_file) ) ) { my $data = join( "", <$in> ); close($in); - if ( $data !~ /^TZif/o ) { + my @strings = $data =~ (m/[ -~]{4,}/g); + if ( shift(@strings) !~ /^TZif/o ) { $debug && print "Skipped $file\n"; next; } - my $tmp = $data; - $tmp =~ s/\n$//s; - $tmp =~ s/.*\n//sgmo; - - $zones{$name} = $tmp; + $zones{$name} = pop(@strings); } open( my $out, ">$output" );