use strict;
-use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
-
use vars qw($pc11_max_age $pc23_max_age $last_pc50 $eph_restime $eph_info_restime $eph_pc34_restime
$last_hour $last10 %eph %pings %rcmds $ann_to_talk
$pingint $obscount %pc19list $chatdupeage $chatimportfn
$self->state('init');
# record the type and version offered
- if ($_[1] =~ /DXSpider Version: (\d+\.\d+) Build: (\d+\.\d+)/) {
+ if ($_[1] =~ /DXSpider Version: (\d+\.\d+) Build: (\d+(?:\.\d+)?)/) {
$self->version(53 + $1);
$self->user->version(53 + $1);
$self->build(0 + $2);
$user = DXUser->new($call) unless $user;
if ($_[2] == 1) {
- if ($_[2] =~ /spotter/i) {
+ if (($_[3] =~ /spotter/i || $_[3] =~ /self/i) && $user->name && $user->name ne $_[3]) {
dbg("PCPROT: invalid name") if isdbg('chanerr');
return;
}
return "" if defined $newhops && $newhops == 0;
$newhops = $ref->{default} unless $newhops;
return "" if defined $newhops && $newhops == 0;
- $newhops = $hops if !$newhops;
+ $newhops = $hops unless $newhops;
+ return "" unless $newhops > 0;
$s =~ s/\^H(\d+)(\^~?)$/\^H$newhops$2/ if $newhops;
} else {
# simply decrement it
$hops--;
- return "" if !$hops;
- $s =~ s/\^H(\d+)(\^~?)$/\^H$hops$2/ if $hops;
+ return "" unless $hops > 0;
+ $s =~ s/\^H(\d+)(\^~?)$/\^H$hops$2/;
}
}
return $s;