projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added spoofing
[spider.git]
/
perl
/
DXCommandmode.pm
diff --git
a/perl/DXCommandmode.pm
b/perl/DXCommandmode.pm
index b7f8e8f4fc9e78a15f43b928c6aad5b900081c27..5439fc4d21bcc8cfee490cb541ba19551e83f660 100644
(file)
--- a/
perl/DXCommandmode.pm
+++ b/
perl/DXCommandmode.pm
@@
-206,7
+206,8
@@
sub run_cmd
$cmdline =~ s|//|/|og;
# split the command line up into parts, the first part is the command
$cmdline =~ s|//|/|og;
# split the command line up into parts, the first part is the command
- my ($cmd, $args) = $cmdline =~ /^([\S\/]+)\s*(.*)/o;
+ my ($cmd, $args) = split /\s+/, $cmdline, 2;
+ $args = "" unless $args;
if ($cmd) {
if ($cmd) {
@@
-217,7
+218,8
@@
sub run_cmd
# alias it if possible
my $acmd = CmdAlias::get_cmd($cmd);
if ($acmd) {
# alias it if possible
my $acmd = CmdAlias::get_cmd($cmd);
if ($acmd) {
- ($cmd, $args) = "$acmd $args" =~ /^([\w\/]+)\s*(.*)/o;
+ ($cmd, $args) = split /\s+/, "$acmd $args", 2;
+ $args = "" unless $args;
dbg('command', "aliased cmd: $cmd $args");
}
dbg('command', "aliased cmd: $cmd $args");
}
@@
-242,7
+244,11
@@
sub run_cmd
$Cache{$package}->{sub} = $c;
}
$c = $Cache{$package}->{sub};
$Cache{$package}->{sub} = $c;
}
$c = $Cache{$package}->{sub};
- @ans = &{$c}($self, $args);
+ eval {
+ @ans = &{$c}($self, $args);
+ };
+
+ return ($@) if $@;
}
} else {
dbg('command', "cmd: $cmd not found");
}
} else {
dbg('command', "cmd: $cmd not found");