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);
9 sub unlockreadbugmerge {
11 &unfilelock if $rv >= 2;
12 &unfilelock if $rv >= 1;
15 sub lockreadbugmerge {
16 local ($lref, $location) = @_;
18 if (!($data = &lockreadbug($lref, $location))) { return ( 0, undef ); }
19 if (!length($data->{mergedwith})) { return ( 1, $data ); }
21 &filelock('lock/merge');
22 if (!&lockreadbug($lref, $location)) { &unfilelock; return ( 0, undef ); }
26 %saniarray= ('<','lt', '>','gt', '&','amp', '"','quot');
30 warn "You should be using HTML::Entities instead.";
31 $in =~ s/([<>&"])/$saniarray{$1}/g;
37 my $type = $entity->effective_type;
38 if ($type =~ m#text/(?!html|enriched)# or
39 $type eq 'application/pgp') {
40 return $entity->bodyhandle;
41 } elsif ($type eq 'multipart/alternative') {
42 # RFC 2046 says we should use the last part we recognize.
43 for my $part (reverse $entity->parts) {
44 my $ret = getmailbody($part);
48 # For other multipart types, we just pretend they're
49 # multipart/mixed and run through in order.
50 for my $part ($entity->parts) {
51 my $ret = getmailbody($part);
61 map { Mail::Address->parse($_) } @_;
66 map { s/^([\01-\07\030])/\030$1/gm } @log;
70 sub isstrongseverity {
72 $severity = $gDefaultSeverity if $severity eq '';
73 return grep { $_ eq $severity } @gStrongSeverities;
77 @severities= grep { not exists $gObsoleteSeverities{$_} } @gSeverityList;
78 @showseverities= @severities;
79 grep ($_= $_ eq '' ? $gDefaultSeverity : $_, @showseverities);
80 %displayshowseverities= %gSeverityDisplay;
83 if (defined $gFowardList and not defined $gForwardList) {
84 $gForwardList = $gFowardList;