X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=8720e940ac016e4ec5e8da04346f106d80722787;hb=a68508856d1efca83b9e21820e906229433dc681;hp=d2f4a4ff97c549b3b596ce62edf5530cb66d7d11;hpb=b2982f5b324ee910847e28d76652c74576b8ed8e;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index d2f4a4ff..8720e940 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -252,6 +252,7 @@ sub start } $self->lastmsgpoll($main::systime); + $self->{user_interval} = $self->user->user_interval || $main::user_interval; # allow user to change idle time between prompts $self->prompt; } @@ -543,7 +544,7 @@ sub run_cmd # check for length of whole command line and any invalid characters if (length $cmdline > $maxcmdlth || $cmd =~ m|\.| || $cmd !~ m|^\w+(?:/\w+){0,1}(?:/\d+)?$|) { LogDbg('DXCommand', "cmd: $self->{call} - invalid characters in '$cmd'"); - return $self->_error_out('e40'); + return $self->_error_out('e40'); } my ($path, $fcmd); @@ -588,7 +589,7 @@ sub run_cmd return $self->_error_out('e1'); } } else { - dbg("cmd: $cmd not found") if isdbg('command'); + LogDbg('DXCommand', "$self->{call} cmd: '$cmd' not found"); return $self->_error_out('e1'); } } @@ -597,11 +598,7 @@ sub run_cmd if ($ok) { delete $self->{errors}; } else { - if (++$self->{errors} > $DXChannel::maxerrors) { - $self->send($self->msg('e26')); - $self->disconnect; - return (); - } + return $self->_error_out('e26'); } return map {s/([^\s])\s+$/$1/; $_} @ans; } @@ -627,7 +624,7 @@ sub process } # send a prompt if no activity out on this channel - if ($t >= $dxchan->t + $main::user_interval) { + if ($t >= $dxchan->t + $dxchan->{user_interval}) { $dxchan->prompt() if $dxchan->{state} =~ /^prompt/o; $dxchan->t($t); }