Author: sparky
Date: Sat Dec  2 21:10:28 2006
New Revision: 8035

Modified:
   vfmg/trunk/vfmg
Log:
- some findfirstlang speed-up


Modified: vfmg/trunk/vfmg
==============================================================================
--- vfmg/trunk/vfmg     (original)
+++ vfmg/trunk/vfmg     Sat Dec  2 21:10:28 2006
@@ -301,13 +301,16 @@
 }
 addlang($ENV{'LANG'})  if exists $ENV{'LANG'};
 my $langs = join "|", @lang;
-sub findfirstlang {
+sub findfirstlang($) {
+       my $in = shift;
+       my %in_file;
+       foreach (@{$in}) {
+               $in_file{$1} = $_ if /\[(.*)\]/;
+       }
        foreach my $lang (@lang) {
-               foreach (@_) {
-                       return $_ if /\[$lang\]/;
-               }
+               return $in_file{$lang} if exists $in_file{$lang};
        }
-       return (grep !/\[.*\]/, @_)[0];
+       return (grep !/\[.*\]$/, @{$in})[0];
 } # }}}
 
 # what is $DESKTOP_FILE_PATH?
@@ -394,7 +397,7 @@
        foreach my $tag_name (@decode_tags) {
                my @all = (grep /^$tag_name/, keys %tags);
                next if ($#all < 0);
-               my $first = findfirstlang(@all);
+               my $first = findfirstlang([EMAIL PROTECTED]);
                my $enc = $tags{Encoding};
        
                if ($enc eq 'Legacy-Mixed') {
@@ -676,8 +679,9 @@
                                                        \s*$/ox
                                                } <F_IN>,
                                        );
-                               $dname = $tags{findfirstlang( grep /^Name/, 
keys %tags)};
                                close F_IN;
+                               my @name = grep /^Name/, keys %tags;
+                               $dname = $tags{findfirstlang( [EMAIL PROTECTED] 
)};
                                $ok = 1;
                                
                                if($opt{icons_ext}) {
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to