]> Sergey Matveev's repositories - public-inbox.git/commitdiff
use utf8::{encode,decode} for in-place transforms
authorEric Wong <e@80x24.org>
Mon, 30 May 2016 04:50:33 +0000 (04:50 +0000)
committerEric Wong <e@80x24.org>
Mon, 30 May 2016 04:50:33 +0000 (04:50 +0000)
No need to duplicate the string when transforming it;
learned from studying SpamAssassin 3.4.1

lib/PublicInbox/NNTP.pm
lib/PublicInbox/SearchMsg.pm
lib/PublicInbox/View.pm

index 232237c2dfe8eb0947b83cc0859632baa2617e27..e4e3de4adfd3e17dc12bdacb5713c7d33158a527 100644 (file)
@@ -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) {
index caebe3729d4cf3a038c75c05736d6fd3045d1dca..28c2037b1a99aef10e783d8b92e2f1039636ac7b 100644 (file)
@@ -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,
index a78ce31d291ea0859edc5cf75a7e2d253579c3a2..ed4053014edd1a994449a762458c58ee9722fa73 100644 (file)
@@ -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;