about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-02-24 07:33:26 +0000
committerEric Wong <e@yhbt.net>2020-02-24 18:30:11 +0000
commitaf8434f5f729a541cf8c50dfcb7d96a413facd2b (patch)
tree9fe98c3fce6e91b67496a1e7c2aec1f90e2420ca /lib
parentdf0fee8ed3892fb1258d87add809f40bebd3dce2 (diff)
downloadpublic-inbox-af8434f5f729a541cf8c50dfcb7d96a413facd2b.tar.gz
hval: ascii_html: drop CRLF => LF conversion
Instead, we add CRLF conversion to the only remaining place
which needs it, ViewVCS.  This save many redundant ops in in
many places.

The only other place where this mattered was in
View::add_text_body, but we already started doing CRLF
conversions when we added diff parsing and link generation for
ViewVCS.  Otherwise, all other places we used this was for
header viewing and Email::MIME doesn't preserve CRLF in headers.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/Hval.pm1
-rw-r--r--lib/PublicInbox/ViewVCS.pm2
2 files changed, 1 insertions, 2 deletions
diff --git a/lib/PublicInbox/Hval.pm b/lib/PublicInbox/Hval.pm
index 5f7ab513..79005d21 100644
--- a/lib/PublicInbox/Hval.pm
+++ b/lib/PublicInbox/Hval.pm
@@ -55,7 +55,6 @@ sub src_escape ($) {
 
 sub ascii_html {
         my ($s) = @_;
-        $s =~ s/\r\n/\n/sg; # fixup bad line endings
         $s =~ s/([<>&'"\x7f\x00-\x1f])/$xhtml_map{$1}/sge;
         $enc_ascii->encode($s, Encode::HTMLCREF);
 }
diff --git a/lib/PublicInbox/ViewVCS.pm b/lib/PublicInbox/ViewVCS.pm
index 1379bd58..2f8e1c4f 100644
--- a/lib/PublicInbox/ViewVCS.pm
+++ b/lib/PublicInbox/ViewVCS.pm
@@ -164,7 +164,7 @@ sub solve_result {
 
         # TODO: detect + convert to ensure validity
         utf8::decode($$blob);
-        my $nl = ($$blob =~ tr/\n/\n/);
+        my $nl = ($$blob =~ s/\r?\n/\n/sg);
         my $pad = length($nl);
 
         $l->linkify_1($$blob);