X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FMisc.pl;h=bf95b602216638c250c00dae377f83a13fe2f12d;hb=13e52da10d9264c5ccdd272cb37203736b38d491;hp=30222f406a7c2ffff6e7fd151342114b7a92959a;hpb=f2b044dd477305d15d95a36826b6bbc487cf190f;p=infobot.git diff --git a/src/Misc.pl b/src/Misc.pl index 30222f4..bf95b60 100644 --- a/src/Misc.pl +++ b/src/Misc.pl @@ -117,8 +117,8 @@ sub timedelta { 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 @@ -134,7 +134,11 @@ sub formListReply { 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."); @@ -142,6 +146,7 @@ sub formListReply { } # 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); @@ -585,10 +590,10 @@ sub hasProfanity { 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. @@ -613,7 +618,7 @@ sub Forker { 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;