fix isnode problem
[spider.git] / cmd / connect.pl
index 759785f87680ee4b7e56e4e55ba21437295439b4..e76bd01e0390b4e2bc50bb71820093b13f524b74 100644 (file)
@@ -7,16 +7,25 @@ my $lccall = lc $call;
 
 return (1, $self->msg('e5')) if $self->priv < 5;
 return (1, $self->msg('e6')) unless $call gt ' ';
-return (1, $self->msg('already', $call)) if DXChannel->get($call);
+return (1, $self->msg('already', $call)) if DXChannel::get($call);
 return (1, $self->msg('outconn', $call)) if grep {$_->{call} eq $call} @main::outstanding_connects;
 return (1, $self->msg('conscript', $lccall)) unless -e "$main::root/connect/$lccall";
 
 my $user = DXUser->get($call);
-return (1, $self->msg('lockout', $call)) if $user->lockout;
+return (1, $self->msg('lockout', $call)) if $user && $user->lockout;
 
 my @out;
 push @out, $self->msg('constart', $call);
-ExtMsg::start_connect($call, "$main::root/connect/$lccall");
+my $fn = "$main::root/connect/$lccall";
+
+my $f = new IO::File $fn;
+if ($f) {
+       my @f = <$f>;
+       $f->close;
+       ExtMsg::start_connect($call, @f);
+} else {
+       push @out, $self->msg('e3', 'connect', $fn);
+}
 return (1, @out);