sub formListReply {
my($rand, $prefix, @list) = @_;
my $total = scalar @list;
- my $maxshow = &getChanConfDefault('maxListReplyCount', 15);
- my $maxlen = &getChanConfDefault('maxListReplyLength', 400);
+ my $maxshow = &getChanConfDefault('maxListReplyCount', 15, $chan);
+ my $maxlen = &getChanConfDefault('maxListReplyLength', 400, $chan);
my $reply;
# remove irc overhead
push(@rand, $list[$_]);
last if (scalar @rand == $maxshow);
}
- @list = sort @rand;
+ if ($total > $maxshow) {
+ @list = sort @rand;
+ } else {
+ @list = @rand;
+ }
} elsif ($total > $maxshow) {
&status("formListReply: truncating list.");
}
# form the reply.
+ # FIXME: should grow and exit when full, not discard any that are oversize
while () {
$reply = $prefix ."(\002". scalar(@list). "\002";
$reply .= " of \002$total\002" if ($total != scalar @list);
return $profanity;
}
-sub hasParam {
+sub IsChanConfOrWarn {
my ($param) = @_;
- if (&IsChanConf($param) or &IsParam($param)) {
+ if (&IsChanConf($param) > 0) {
return 1;
} else {
### TODO: specific reason why it failed.
select(undef, undef, undef, 0.2);
# &status("fork starting for '$label', PID == $$.");
- &status("--- fork starting for '$label', PID == $$ ---");
+ &status("--- fork starting for '$label', PID == $$, bot_pid == $bot_pid ---");
&shmWrite($shm,"SET FORKPID $label $$");
sleep 1;