From: Eric Wong Date: Tue, 13 Feb 2024 09:42:42 +0000 (+0000) Subject: eml: reuse ->decode buffer X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7c8ab553ee21acf9c9ac0a9180aa76080716290;p=thirdparty%2Fpublic-inbox.git 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. --- diff --git a/lib/PublicInbox/Eml.pm b/lib/PublicInbox/Eml.pm index 56aec1e56..d59d7c3f6 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; }