# Search(keys||vals, str);
sub Search {
my ($type, $str) = @_;
- my $start_time = &main::gettimeofday();
+ my $start_time = &::timeget();
my @list;
+ my $maxshow = &::getChanConfDefault('maxListReplyCount', 15, $chan);
$type =~ s/s$//; # nice work-around.
- if ($type eq "value") { # search by value.
- @list = &main::searchTable("factoids", "factoid_key", "factoid_value", $str);
- } else { # search by key.
- @list = &main::searchTable("factoids", "factoid_key", "factoid_key", $str);
+ if ($type eq "value") {
+ # search by value.
+ @list = &::searchTable("factoids", "factoid_key", "factoid_value", $str);
+ } else {
+ # search by key.
+ @list = &::searchTable("factoids", "factoid_key", "factoid_key", $str);
}
- my $delta_time = sprintf("%.02f", &main::gettimeofday() - $start_time);
- &main::status("search: took $delta_time sec for query.") if ($delta_time > 0);
+ @list=grep(!/\#DEL\#$/,@list) if (scalar(@list) > $maxshow);
+ my $delta_time = sprintf("%.02f", &::timedelta($start_time) );
+ &::status("search: took $delta_time sec for query.") if ($delta_time > 0);
my $prefix = "Factoid search of '\002$str\002' by $type ";
- &main::performStrictReply( &main::formListReply(1, $prefix, @list) );
+ &::performStrictReply( &::formListReply(1, $prefix, @list) );
}
1;