From 682ecd3ad1eec32876f2705e6c60c7dfb30556aa Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 30 May 2016 04:50:33 +0000 Subject: use utf8::{encode,decode} for in-place transforms No need to duplicate the string when transforming it; learned from studying SpamAssassin 3.4.1 --- lib/PublicInbox/NNTP.pm | 6 ++---- lib/PublicInbox/SearchMsg.pm | 4 +--- lib/PublicInbox/View.pm | 1 - 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 232237c2..e4e3de4a 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -16,8 +16,6 @@ use Email::Simple; use POSIX qw(strftime); use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); use URI::Escape qw(uri_escape_utf8); -use Encode qw(find_encoding); -my $enc_utf8 = find_encoding('UTF-8'); use constant { r501 => '501 command syntax error', r221 => '221 Header follows', @@ -898,7 +896,7 @@ sub cmd_xpath ($$) { sub res ($$) { my ($self, $line) = @_; - $line = $enc_utf8->encode($line); + utf8::encode($line); do_write($self, $line . "\r\n"); } @@ -933,7 +931,7 @@ use constant MSG_MORE => ($^O eq 'linux') ? 0x8000 : 0; sub do_more ($$) { my ($self, $data) = @_; - $data = $enc_utf8->encode($data); + utf8::encode($data); if (MSG_MORE && !$self->{write_buf_size}) { my $n = send($self->{sock}, $data, MSG_MORE); if (defined $n) { diff --git a/lib/PublicInbox/SearchMsg.pm b/lib/PublicInbox/SearchMsg.pm index caebe372..28c2037b 100644 --- a/lib/PublicInbox/SearchMsg.pm +++ b/lib/PublicInbox/SearchMsg.pm @@ -11,8 +11,6 @@ use POSIX qw//; use Date::Parse qw/str2time/; use PublicInbox::MID qw/mid_clean/; use PublicInbox::Address; -use Encode qw/find_encoding/; -my $enc_utf8 = find_encoding('UTF-8'); our $PFX2TERM_RE = undef; use constant EPOCH_822 => 'Thu, 01 Jan 1970 00:00:00 +0000'; use POSIX qw(strftime); @@ -39,7 +37,7 @@ sub load_doc { my ($class, $doc) = @_; my $data = $doc->get_data; my $ts = get_val($doc, &PublicInbox::Search::TS); - $data = $enc_utf8->decode($data); + utf8::decode($data); my ($subj, $from, $refs, $to, $cc) = split(/\n/, $data); bless { doc => $doc, diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index a78ce31d..ed405301 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -8,7 +8,6 @@ use strict; use warnings; use URI::Escape qw/uri_escape_utf8/; use Date::Parse qw/str2time/; -use Encode qw/find_encoding/; use Encode::MIME::Header; use PublicInbox::Hval qw/ascii_html/; use PublicInbox::Linkify; -- cgit v1.2.3-24-ge0c7