* [PATCH] use utf8::{encode,decode} for in-place transforms
@ 2016-05-30 4:54 Eric Wong
0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2016-05-30 4:54 UTC (permalink / raw)
To: meta
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 232237c..e4e3de4 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 caebe37..28c2037 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 a78ce31..ed40530 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;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-05-30 4:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-30 4:54 [PATCH] use utf8::{encode,decode} for in-place transforms Eric Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).