From e7c8ab553ee21acf9c9ac0a9180aa76080716290 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 13 Feb 2024 09:42:42 +0000 Subject: eml: reuse ->decode buffer It's not really relevant at the moment, but a sufficiently smart implementation could eventually save some memory here. Perl already optimizes in-place sort (@x = sort @x), so there's precedent for a potential future where a Perl implementation could generally optimize in-place operations for non-builtin subroutines, too. --- lib/PublicInbox/Eml.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/Eml.pm b/lib/PublicInbox/Eml.pm index 56aec1e5..d59d7c3f 100644 --- a/lib/PublicInbox/Eml.pm +++ b/lib/PublicInbox/Eml.pm @@ -475,10 +475,10 @@ sub body_str { join("\n\t", header_raw($self, 'Content-Type'))); }; my $enc = find_encoding($cs) or croak "unknown encoding `$cs'"; - my $tmp = body($self); + my $ret = body($self); local @enc_warn; local $SIG{__WARN__} = $enc_warn; - my $ret = $enc->decode($tmp, Encode::FB_WARN); + $ret = $enc->decode($ret, Encode::FB_WARN); croak(@enc_warn) if @enc_warn; $ret; } -- cgit v1.2.3-24-ge0c7