}
# yet another hack.
- foreach (keys %channels) {
- my $i = $cache{maxpeeps}{$chan} || 0;
- my $j = scalar(keys %{ $channels{$chan} });
+ # FIXED: $ch should be used rather than $chan since it creates NULL channels in the hash
+ foreach my $ch (keys %channels) {
+ my $i = $cache{maxpeeps}{$ch} || 0;
+ my $j = scalar(keys %{ $channels{$ch} });
next unless ($i > 10 and 0.25*$i > $j);
&DEBUG("netsplit: 0.25*max($i) > current($j); possible netsplit?");
$cache{connect} = time();
}
}
+ }
- if (grep /^\s*$/, keys %channels) {
- &WARN('ircCheck: we have a NULL chan in hash channels? removing!');
- if (!exists $channels{''}) {
- &DEBUG('ircCheck: this should never happen!');
- }
-
- delete $channels{''};
+ if (grep /^\s*$/, keys %channels) {
+ &WARN('ircCheck: we have a NULL chan in hash channels? removing!');
+ if (!exists $channels{''}) {
+ &DEBUG('ircCheck: this should never happen!');
+ }
+ }
+ if ($ident !~ /^\Q$param{ircNick}\E$/) {
+ # this does not work unfortunately.
+ &WARN("ircCheck: ident($ident) != param{ircNick}($param{ircNick}).");
+
+ # this check is misleading... perhaps we should do a notify.
+ if (! &IsNickInAnyChan( $param{ircNick} ) ) {
+ &DEBUG("$param{ircNick} not in use... changing!");
+ &nick( $param{ircNick} );
+ } else {
+ &WARN("$param{ircNick} is still in use...");
}
}