diff options
author | Björn Stenberg <bjorn@haxx.se> | 2011-03-02 00:20:56 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2011-03-02 00:20:56 +0000 |
commit | 6170ded83d342b52f0bb1237a705f3f98e99695a (patch) | |
tree | a5face0445983b69b6f0b05ee65c6d20a4a02417 /tools | |
parent | c9e00806d47d7be96f0b308ca52edcb2d20e6aff (diff) | |
download | rockbox-6170ded83d342b52f0bb1237a705f3f98e99695a.tar.gz rockbox-6170ded83d342b52f0bb1237a705f3f98e99695a.zip |
Almost 30% faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29488 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/genlang | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/genlang b/tools/genlang index 22d020fe5a..81d5066453 100755 --- a/tools/genlang +++ b/tools/genlang | |||
@@ -121,6 +121,8 @@ if(!$target && !$update && !$sortfile) { | |||
121 | print STDERR "Please specify a target (with -t)!\n"; | 121 | print STDERR "Please specify a target (with -t)!\n"; |
122 | exit; | 122 | exit; |
123 | } | 123 | } |
124 | my @target_parts = split ':', $target; | ||
125 | |||
124 | my $verbose=$v; | 126 | my $verbose=$v; |
125 | 127 | ||
126 | my %id; # string to num hash | 128 | my %id; # string to num hash |
@@ -149,9 +151,6 @@ sub trim { | |||
149 | sub match { | 151 | sub match { |
150 | my ($string, $pattern)=@_; | 152 | my ($string, $pattern)=@_; |
151 | 153 | ||
152 | $pattern =~ s/\*/.*/g; | ||
153 | $pattern =~ s/\?/./g; | ||
154 | |||
155 | return ($string =~ /^$pattern\z/); | 154 | return ($string =~ /^$pattern\z/); |
156 | } | 155 | } |
157 | 156 | ||
@@ -183,9 +182,12 @@ sub parsetarget { | |||
183 | my @all= split(" *, *", $n); | 182 | my @all= split(" *, *", $n); |
184 | my $test; | 183 | my $test; |
185 | for $test (@all) { | 184 | for $test (@all) { |
185 | $test =~ s/\*/.*/g; | ||
186 | $test =~ s/\?/./g; | ||
187 | |||
186 | # print "TEST ($debug) $target for $test\n"; | 188 | # print "TEST ($debug) $target for $test\n"; |
187 | for my $part (split(":", $target)) { | 189 | for my $part (@target_parts) { |
188 | if(match($part, $test)) { | 190 | if($part =~ /^$test\z/) { |
189 | $string = $v; | 191 | $string = $v; |
190 | # print "MATCH: $test => $v\n"; | 192 | # print "MATCH: $test => $v\n"; |
191 | $$strref = $string; | 193 | $$strref = $string; |