vfmg (DEVEL): vfmg - no case insensitive tags checking (some speed...
sparky
sparky at pld-linux.org
Sat Nov 5 17:47:51 CET 2005
Author: sparky Date: Sat Nov 5 16:47:51 2005 GMT
Module: vfmg Tag: DEVEL
---- Log message:
- no case insensitive tags checking (some speed gained), can be much faster
if not using 'lc' in cmpdname
- don't use while(1) in cand, cnor, cor
---- Files affected:
vfmg:
vfmg (1.73.2.30 -> 1.73.2.31)
---- Diffs:
================================================================
Index: vfmg/vfmg
diff -u vfmg/vfmg:1.73.2.30 vfmg/vfmg:1.73.2.31
--- vfmg/vfmg:1.73.2.30 Sat Nov 5 17:11:50 2005
+++ vfmg/vfmg Sat Nov 5 17:47:46 2005
@@ -453,10 +453,8 @@
my @iapps; # internal applications list
my $name;
my $firstrun=1;
- while (1) {
- my $tag = lc(gettag());
- last if($tag eq '/and');
- if($tag eq 'category') {
+ while ( (my $tag = gettag()) ne '/And') {
+ if($tag eq 'Category') {
my $dir=getname();
if($firstrun) {
foreach $name(0..$#happs) {
@@ -471,11 +469,11 @@
gettag(); # must be </category> else GIGO and we don't care
next;
}
- if($tag=~/^(and|or|not)$/) {
+ if($tag=~/^(And|Or|Not)$/) {
my $tmpapps;
- if ($tag eq 'or') {
+ if ($tag eq 'Or') {
$tmpapps=cor();
- } elsif ($tag eq 'and') {
+ } elsif ($tag eq 'And') {
$tmpapps=cand();
} else {
$tmpapps=cnot();
@@ -500,10 +498,8 @@
sub cor { # {{{
my @iapps; # internal applications list
my $name;
- while (1) {
- my $tag=lc(gettag());
- last if($tag eq '/or');
- if($tag eq 'category') {
+ while ( (my $tag = gettag()) ne '/Or') {
+ if($tag eq 'Category') {
my $dir=getname();
foreach $name(0..$#happs) {
$iapps[$name]=1 if exists $apps[$name]{$dir};
@@ -511,11 +507,11 @@
gettag(); # must be </category> else GIGO and we don't care
next;
}
- if($tag=~/^(and|or|not)$/) {
+ if($tag=~/^(And|Or|Not)$/) {
my $tmpapps;
- if ($tag eq 'or') {
+ if ($tag eq 'Or') {
$tmpapps=cor();
- } elsif ($tag eq 'and') {
+ } elsif ($tag eq 'And') {
$tmpapps=cand();
} else {
$tmpapps=cnot();
@@ -534,10 +530,8 @@
my @iapps; # internal applications list
my $name;
@iapps=@apps;
- while (1) {
- my $tag=lc(gettag());
- last if($tag eq '/not');
- if($tag eq 'category') {
+ while ( (my $tag = gettag()) ne '/Not') {
+ if($tag eq 'Category') {
my $dir=getname();
foreach $name(0..$#iapps) {
delete($iapps[$name]) if exists $iapps[$name]{$dir};
@@ -545,12 +539,12 @@
gettag(); # must be </category> else GIGO and we don't care
next;
}
- if($tag=~/^(and|or|not)$/) { # I think it doesn't make any sense
+ if($tag=~/^(And|Or|Not)$/) { # I think it doesn't make any sense
warn "How did you get here!?\n" if $o_verbose;
my $tmpapps;
- if ($tag eq 'or') {
+ if ($tag eq 'Or') {
$tmpapps=cor();
- } elsif ($tag eq 'and') {
+ } elsif ($tag eq 'And') {
$tmpapps=cand();
} else {
$tmpapps=cnot();
@@ -570,8 +564,8 @@
my @tmp=grep -d, map {"$_/desktop-directories/"} @xdg_data_dirs;
sub include($) { # {{{
my ($mno) = @_;
- while ( (my $tag = lc(gettag())) ne "/include" ) {
- if($tag eq 'category') {
+ while ( (my $tag = gettag()) ne "/Include" ) {
+ if($tag eq 'Category') {
my $dir=getname();
foreach my $name(0..$#happs) {
$menu[$mno]{$happs[$name]}=-1
@@ -580,11 +574,11 @@
gettag(); # must be </category> else GIGO and we don't care
next;
}
- if($tag=~/^(and|or|not)$/) {
+ if($tag=~/^(And|Or|Not)$/) {
my $tmpapps;
- if ($tag eq 'or') {
+ if ($tag eq 'Or') {
$tmpapps=cor();
- } elsif ($tag eq 'and') {
+ } elsif ($tag eq 'And') {
$tmpapps=cand();
} else {
$tmpapps=cnot();
@@ -598,7 +592,7 @@
next;
}
if( $o_verbose &&
- ( $tag=~/^\/(name|directory|and|or|not|category|mergefile)$/ )) {
+ ( $tag=~/^\/(name|directory|and|or|not|category|mergefile)$/i )) {
warn "warning: XDG file corrupted!\n";
}
warn "Omitted tag: $tag\n" if $o_tags;
@@ -615,16 +609,16 @@
my $mno = $#menu;
my $dirfile;
- while ( (my $tag = lc(gettag())) ne "/menu" ) {
- if($tag eq 'include') {
+ while ( (my $tag = gettag()) ne "/Menu" ) {
+ if($tag eq 'Include') {
include($mno);
next;
}
- if($tag eq 'menu') {
+ if($tag eq 'Menu') {
menu($this_name, $mno);
next;
}
- if($tag eq 'name') {
+ if($tag eq 'Name') {
$name = getname();
$this_name = $parent_name .":". $name;
$menu[$parent_number]{$this_name} = $mno;
@@ -637,7 +631,7 @@
gettag(); # must be </name> else GIGO and we don't care
next;
}
- if($tag eq 'directory') {
+ if($tag eq 'Directory') {
$dirfile=getname();
my $lang=0;
my $dname="";
@@ -701,7 +695,7 @@
gettag(); # must be </directory> else GIGO and we don't care
next;
}
- if($tag eq 'mergefile') {
+ if($tag eq 'MergeFile') {
my $name = getname();
gettag(); # must be </mergefile> else GIGO and we don't care
my $ok;
@@ -722,7 +716,7 @@
next;
}
if( $o_verbose &&
- ( $tag=~/^\/(name|directory|and|or|not|category|mergefile)$/ )) {
+ ( $tag=~/^\/(name|directory|and|or|not|category|mergefile)$/i )) {
warn "warning: XDG file corrupted!\n";
}
warn "Omitted tag: $tag\n" if $o_tags;
@@ -733,7 +727,7 @@
} # }}}
$#menu++;
-while( (my $tag = lc(gettag())) ne "menu" ) {
+while( (my $tag = gettag()) ne "Menu" ) {
warn "Omitted tag: $tag\n" if $o_tags;
}
menu("", 0);
@@ -824,6 +818,7 @@
sub cmpdname {
return lc($desktop{$a}[1]) cmp lc($desktop{$b}[1]);
+ #return $desktop{$a}[1] cmp $desktop{$b}[1];
}
sub DR17 { # {{{
================================================================
---- CVS-web:
http://cvs.pld-linux.org/vfmg/vfmg?r1=1.73.2.30&r2=1.73.2.31&f=u
More information about the pld-cvs-commit
mailing list