]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/ExtMsg.pm
view: escape ampersand in Message-IDs
[public-inbox.git] / lib / PublicInbox / ExtMsg.pm
index c48c2db49490d22b9481d717a713401196a54573..44884ad286354aa9a95841fb5b3b171df0d19cc2 100644 (file)
@@ -8,7 +8,7 @@
 package PublicInbox::ExtMsg;
 use strict;
 use warnings;
-use PublicInbox::Hval qw(ascii_html prurl);
+use PublicInbox::Hval qw(ascii_html prurl mid_href);
 use PublicInbox::WwwStream;
 our $MIN_PARTIAL_LEN = 16;
 
@@ -129,9 +129,8 @@ sub ext_msg {
        }
 
        my $code = 404;
-       my $h = PublicInbox::Hval->new_msgid($mid);
-       my $href = $h->{href};
-       my $html = $h->as_html;
+       my $href = mid_href($mid);
+       my $html = ascii_html($mid);
        my $title = "<$html> not found";
        my $s = "<pre>Message-ID &lt;$html&gt;\nnot found\n";
        if ($n_partial) {
@@ -145,10 +144,9 @@ sub ext_msg {
                        my $env = $ctx->{env} if $ibx->{name} eq $cur_name;
                        my $u = $ibx->base_url($env) or next;
                        foreach my $m (@$res) {
-                               my $p = PublicInbox::Hval->new_msgid($m);
-                               my $r = $p->{href};
-                               my $t = $p->as_html;
-                               $s .= qq{<a\nhref="$u$r/">$u$t/</a>\n};
+                               my $href = mid_href($m);
+                               my $html = ascii_html($m);
+                               $s .= qq{<a\nhref="$u$href/">$u$html/</a>\n};
                        }
                }
        }
@@ -183,9 +181,8 @@ sub ext_urls {
 
 sub exact {
        my ($ctx, $found, $mid) = @_;
-       my $h = PublicInbox::Hval->new_msgid($mid);
-       my $href = $h->{href};
-       my $html = $h->as_html;
+       my $href = mid_href($mid);
+       my $html = ascii_html($mid);
        my $title = "&lt;$html&gt; found in ";
        my $end = @$found == 1 ? 'another inbox' : 'other inboxes';
        $ctx->{-title_html} = $title . $end;