4 use Debbugs::MIME qw(decode_rfc1522 encode_rfc1522);
5 use Debbugs::Packages qw(:all);
6 use Debbugs::Common qw(:all);
7 use Debbugs::Status qw(:all);
10 sub unlockreadbugmerge {
12 &unfilelock if $rv >= 2;
13 &unfilelock if $rv >= 1;
16 sub lockreadbugmerge {
17 local ($lref, $location) = @_;
19 if (!($data = &lockreadbug($lref, $location))) { return ( 0, undef ); }
20 if (!length($data->{mergedwith})) { return ( 1, $data ); }
22 &filelock('lock/merge');
23 if (!&lockreadbug($lref, $location)) { &unfilelock; return ( 0, undef ); }
27 %saniarray= ('<','lt', '>','gt', '&','amp', '"','quot');
31 carp "You should be using HTML::Entities instead.";
32 $in =~ s/([<>&"])/$saniarray{$1}/g;
38 my $type = $entity->effective_type;
39 if ($type =~ m#text/(?!html|enriched)# or
40 $type eq 'application/pgp') {
41 return $entity->bodyhandle;
42 } elsif ($type eq 'multipart/alternative') {
43 # RFC 2046 says we should use the last part we recognize.
44 for my $part (reverse $entity->parts) {
45 my $ret = getmailbody($part);
49 # For other multipart types, we just pretend they're
50 # multipart/mixed and run through in order.
51 for my $part ($entity->parts) {
52 my $ret = getmailbody($part);
62 map { Mail::Address->parse($_) } @_;
67 map { s/^([\01-\07\030])/\030$1/gm } @log;
71 @severities= grep { not exists $gObsoleteSeverities{$_} } @gSeverityList;
72 @showseverities= @severities;
73 grep ($_= $_ eq '' ? $gDefaultSeverity : $_, @showseverities);
74 %displayshowseverities= %gSeverityDisplay;
77 if (defined $gFowardList and not defined $gForwardList) {
78 $gForwardList = $gFowardList;