Paul Vriens : transl: Simplify the resource parsing a bit by using a hash for the languages per module .
Alexandre Julliard
julliard at winehq.org
Tue Jul 21 09:25:12 CDT 2009
Module: tools
Branch: master
Commit: 1ab3af542def7a18d7d753887ce316bbec73752d
URL: http://source.winehq.org/git/tools.git/?a=commit;h=1ab3af542def7a18d7d753887ce316bbec73752d
Author: Paul Vriens <Paul.Vriens.Wine at 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");
More information about the wine-cvs
mailing list