X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Debbugs%2FSOAP.pm;h=a0c3cbf2190d06ea3f5b04dfb9d9278039929990;hb=18b2599b5e991d8ebc00c17301a4f18bb9a3b844;hp=66de901d0787796741a0e136cb66bfa431d05737;hpb=9b30b8af1807570092682e0c79ea3ba3c6e38140;p=debbugs.git diff --git a/Debbugs/SOAP.pm b/Debbugs/SOAP.pm index 66de901..a0c3cbf 100644 --- a/Debbugs/SOAP.pm +++ b/Debbugs/SOAP.pm @@ -24,7 +24,9 @@ None known. use warnings; use strict; use vars qw($DEBUG %EXPORT_TAGS @EXPORT_OK @EXPORT); -use base qw(Exporter SOAP::Server::Parameters); +use Debbugs::SOAP::Server; +use Exporter qw(import); +use base qw(SOAP::Server::Parameters); BEGIN{ $DEBUG = 0 unless defined $DEBUG; @@ -38,14 +40,13 @@ BEGIN{ } - use IO::File; use Debbugs::Status qw(get_bug_status); use Debbugs::Common qw(make_list getbuglocation getbugcomponent); +use Debbugs::UTF8; use Debbugs::Packages; -use Data::Walk; -use Encode qw(encode_utf8); -use Storable qw(nstore retrieve); + +use Storable qw(nstore retrieve dclone); use Scalar::Util qw(looks_like_number); @@ -126,6 +127,7 @@ sub get_status { @bugs = @{$bugs[0]}; } my %status; + my %binary_to_source_cache; for my $bug (@bugs) { my $bug_status; if (ref($bug)) { @@ -133,11 +135,14 @@ sub get_status { next unless defined $param{bug}; $bug = $param{bug}; $bug_status = get_bug_status(map {(exists $param{$_})?($_,$param{$_}):()} - qw(bug dist arch bugusertags sourceversions version indicatesource) + qw(bug dist arch bugusertags sourceversions version indicatesource), + binary_to_source_cache => \%binary_to_source_cache, ); } else { - $bug_status = get_bug_status(bug => $bug); + $bug_status = get_bug_status(bug => $bug, + binary_to_source_cache => \%binary_to_source_cache, + ); } if (defined $bug_status and keys %{$bug_status} > 0) { $status{$bug} = $bug_status; @@ -232,7 +237,6 @@ sub get_bug_log{ my %seen_msg_ids; my $current_msg=0; - my $status = {}; my @messages; while (my $record = $log->read_record()) { $current_msg++; @@ -343,7 +347,7 @@ architectures are at which versions. =back -This function correponds to L +This function corresponds to L =cut @@ -389,14 +393,6 @@ sub __collapse_params{ return %params; } -sub encode_utf8_structure { - return walk \&__encode_utf8, @_; -} - -sub __encode_utf8 { - $_ = encode_utf8($_) unless ref $_ or not is_utf8($_); -} - 1;