Paul Vriens : transl: Simplify the resource parsing a bit by using a hash for the languages per module .
Module: tools Branch: master Commit: 1ab3af542def7a18d7d753887ce316bbec73752d URL: http://source.winehq.org/git/tools.git/?a=commit;h=1ab3af542def7a18d7d753887... Author: Paul Vriens <Paul.Vriens.Wine(a)gmail.com> Date: Tue Jul 21 09:20:44 2009 +0200 transl: Simplify the resource parsing a bit by using a hash for the languages per module. --- transl/scripts/checkmakefile.pl | 40 ++++++++++++++------------------------ 1 files changed, 15 insertions(+), 25 deletions(-) diff --git a/transl/scripts/checkmakefile.pl b/transl/scripts/checkmakefile.pl index 0c91132..e21685c 100755 --- a/transl/scripts/checkmakefile.pl +++ b/transl/scripts/checkmakefile.pl @@ -121,13 +121,11 @@ sub mycheck my $type = -1; my $resource; - my %deflangs = (); - my @file_langs = (); - my %reslangs = (); - @file_langs = ("009:01"); - $deflangs{"009:01"} = 1; + my %file_langs = (); + $file_langs{"009:01"} = 1; + my %reslangs = (); my @resources = (); my %transl_count = (); @@ -167,7 +165,7 @@ sub mycheck { my $lang = collapse($1); - # Don't add neutral langs (nn:00) to the file_langs array + # Don't add neutral langs (nn:00) to the file_langs hash # if we have sublangs (nn:xx) in the conf directory, add # it's sublangs instead (if present). # @@ -179,28 +177,20 @@ sub mycheck my $primary_lang = $lang; $primary_lang =~ s/:00//; my $found = 0; - foreach my $language (@languages) + my @sublanguages = grep(/$primary_lang/, @languages); + foreach my $language (@sublanguages) { - if ($language =~ /$primary_lang:./) - { - if (not defined $deflangs{$language}) - { - $deflangs{$language} = 1; - push @file_langs, $language; - } - $found = 1; - } + $file_langs{$language} = 1; + $found = 1; } - if ((!$found) && (not defined $deflangs{$lang})) + if (!$found) { - $deflangs{$lang} = 1; - push @file_langs, $lang; + $file_langs{$lang} = 1; } } - elsif (not defined $deflangs{$lang}) + else { - $deflangs{$lang} = 1; - push @file_langs, $lang; + $file_langs{$lang} = 1; } $reslangs{$type." ".$resource}{$lang} = 1; $transl_count{$lang}++; @@ -244,7 +234,7 @@ sub mycheck { next if ($notransl{$resource}); - foreach my $lang (@file_langs) + foreach my $lang (keys %file_langs) { my $basic_lang = $lang; $basic_lang=~s/:[0-9a-f][0-9a-f]/:00/; @@ -285,7 +275,7 @@ sub mycheck } } } - foreach my $lang (@file_langs) + foreach my $lang (keys %file_langs) { my $suffix; @@ -360,7 +350,7 @@ sub mycheck { next if (!($lang eq collapse($lang))); next if ($transl_count{"009:01"} == 0); - my @transl = grep {$_ eq $lang} @file_langs; + my @transl = grep {$_ eq $lang} keys %file_langs; if ($#transl == -1) { open(LANGOUT, ">>$workdir/langs/$lang");
participants (1)
-
Alexandre Julliard