summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2011-03-02 00:20:56 +0000
committerBjörn Stenberg <bjorn@haxx.se>2011-03-02 00:20:56 +0000
commit6170ded83d342b52f0bb1237a705f3f98e99695a (patch)
treea5face0445983b69b6f0b05ee65c6d20a4a02417 /tools
parentc9e00806d47d7be96f0b308ca52edcb2d20e6aff (diff)
downloadrockbox-6170ded83d342b52f0bb1237a705f3f98e99695a.zip
rockbox-6170ded83d342b52f0bb1237a705f3f98e99695a.tar.gz
rockbox-6170ded83d342b52f0bb1237a705f3f98e99695a.tar.bz2
rockbox-6170ded83d342b52f0bb1237a705f3f98e99695a.tar.xz
Almost 30% faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29488 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rwxr-xr-xtools/genlang12
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/genlang b/tools/genlang
index 22d020f..81d5066 100755
--- a/tools/genlang
+++ b/tools/genlang
@@ -121,6 +121,8 @@ if(!$target && !$update && !$sortfile) {
print STDERR "Please specify a target (with -t)!\n";
exit;
}
+my @target_parts = split ':', $target;
+
my $verbose=$v;
my %id; # string to num hash
@@ -149,9 +151,6 @@ sub trim {
sub match {
my ($string, $pattern)=@_;
- $pattern =~ s/\*/.*/g;
- $pattern =~ s/\?/./g;
-
return ($string =~ /^$pattern\z/);
}
@@ -183,9 +182,12 @@ sub parsetarget {
my @all= split(" *, *", $n);
my $test;
for $test (@all) {
+ $test =~ s/\*/.*/g;
+ $test =~ s/\?/./g;
+
# print "TEST ($debug) $target for $test\n";
- for my $part (split(":", $target)) {
- if(match($part, $test)) {
+ for my $part (@target_parts) {
+ if($part =~ /^$test\z/) {
$string = $v;
# print "MATCH: $test => $v\n";
$$strref = $string;