$self->{priv} = $user->priv || 0;
$self->{lang} = $user->lang || $main::lang || 'en';
$self->{pagelth} = $user->pagelth || 20;
- ($self->{width}) = $line =~ /width=(\d+)/;
+ ($self->{width}) = $line =~ /width=(\d+)/; $line =~ s/\s*width=\d+\s*//;
$self->{width} = 80 unless $self->{width} && $self->{width} > 80;
$self->{consort} = $line; # save the connection type
$self->{here} = 1;
# sort out registration
- if ($main::reqreq) {
+ if ($main::reqreg == 1) {
$self->{registered} = $user->registered;
+ } elsif ($main::reqreg == 2) {
+ $self->{registered} = !$user->registered;
} else {
$self->{registered} = 1;
}
} else {
eval { @ans = &{$self->{func}}($self, $cmdline) };
}
- $self->send_ans("Syserr: on stored func $self->{func}", $@) if $@;
+ if ($@) {
+ $self->send_ans("Syserr: on stored func $self->{func}", $@);
+ delete $self->{func};
+ $self->state('prompt');
+ undef $@;
+ }
$self->send_ans(@ans);
} else {
$self->send_ans(run_cmd($self, $cmdline));
my ($self, $from, $to, $via, $line) = @_;
$line =~ s/\\5E/\^/g;
$self->local_send('T', "$to de $from: $line") if $self->{talk};
- Log('talk', $to, $from, $main::mycall, $line);
+ Log('talk', $to, $from, $via?$via:$main::mycall, $line);
# send a 'not here' message if required
unless ($self->{here} && $from ne $to) {
my $key = "$to$from";