X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=b51d9c4c3716e12cb12130ee06ac0b387f7245f6;hb=171a7a0bf86e9732a33c7829e808129ec01c51c2;hp=ddfefc6e082af843a86e5e14e188400bb761ab43;hpb=0824a94355e5fb2b4c379bb013d66466725629f5;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index ddfefc6e..b51d9c4c 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -53,6 +53,7 @@ sub start $self->msg('pr', $call); $self->state('prompt'); # a bit of room for further expansion, passwords etc $self->{priv} = $user->priv; + $self->{lang} = $user->lang; $self->{priv} = 0 if $line =~ /^(ax|te)/; # set the connection priv to 0 - can be upgraded later $self->{consort} = $line; # save the connection type @@ -217,7 +218,7 @@ sub search my ($apath, $acmd) = split ',', $cmd_cache{$short_cmd}; if ($apath && $acmd) { dbg('command', "cached $short_cmd = ($apath, $acmd)\n"); - return ($apath, $acmd) if $apath; + return ($apath, $acmd); } # if not guess @@ -226,6 +227,7 @@ sub search my $curdir = $path; my $p; my $i; + my @lparts; for ($i = 0; $i < @parts; $i++) { my $p = $parts[$i]; @@ -242,14 +244,16 @@ sub search $curdir .= "/$l"; last; } - } else { # we are dealing with commands - next if !$l =~ /\.$suffix$/; # only look for .$suffix files + } else { # we are dealing with commands + @lparts = split /\./, $l; + next if $lparts[$#lparts] ne $suffix; # only look for .$suffix files if ($p eq substr($l, 0, length $p)) { - $l =~ s/\.$suffix$//; # remove the suffix - chop $dirfn; # remove trailing / - $cmd_cache{"$short_cmd"} = join(',', ($path, "$dirfn/$l")); # cache it - dbg('command', "got path: $path cmd: $dirfn/$l\n"); - return ($path, "$dirfn/$l"); + pop @lparts; # remove the suffix + $l = join '.', @lparts; +# chop $dirfn; # remove trailing / + $cmd_cache{"$short_cmd"} = join(',', ($path, "$dirfn$l")); # cache it + dbg('command', "got path: $path cmd: $dirfn$l\n"); + return ($path, "$dirfn$l"); } } }