our @EXPORT_OK = qw( nextlink prevlink indexline
resperpagelink
read_entry read_entry_all read_entry_simple
- read_src_entry find_binaries
+ read_src_entry read_src_entry_all find_binaries
do_names_search do_fulltext_search
printindexline multipageheader );
our %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
read_entry_all( $hash, $key, $results, \@non_results, $opts );
}
sub read_entry_simple {
- my ($hash, $key, $suite) = @_;
+ my ($hash, $key, $archives, $suite) = @_;
my $result = $hash->{$key} || '';
+ my @data_fuzzy;
foreach (split /\000/o, $result) {
my @data = split ( /\s/o, $_, 8 );
debug( "Considering entry ".join( ':', @data), 2);
if ($data[1] eq $suite) {
- debug( "Using entry ".join( ':', @data), 2);
- return \@data;
- }
+ if ($archives->{$data[0]}) {
+ debug( "Using entry ".join( ':', @data), 2);
+ return \@data;
+ } elsif ($data[0] eq 'us') {
+ debug( "Fuzzy entry ".join( ':', @data), 2);
+ @data_fuzzy = @data;
+ }
+ }
}
+ return \@data_fuzzy;
}
-sub read_src_entry {
- my ($hash, $key, $results, $opts) = @_;
+sub read_src_entry_all {
+ my ($hash, $key, $results, $non_results, $opts) = @_;
my $result = $hash->{$key} || '';
foreach (split /\000/o, $result) {
my @data = split ( /\s/o, $_, 6 );
&& $opts->{h_sections}{$data[2]}) {
debug( "Using entry ".join( ':', @data), 2);
push @$results, [ $key, @data ];
+ } else {
+ push @$non_results, [ $key, @data ];
}
}
}
+sub read_src_entry {
+ my ($hash, $key, $results, $opts) = @_;
+ my @non_results;
+ read_src_entry_all( $hash, $key, $results, \@non_results, $opts );
+}
sub do_names_search {
my ($keyword, $packages, $postfixes, $read_entry, $opts) = @_;
my @results;