about summary refs log tree commit homepage
path: root/lib/PublicInbox/HlMod.pm
diff options
authorEric Wong <e@80x24.org>2019-02-01 22:12:52 +0000
committerEric Wong <e@80x24.org>2019-02-05 04:35:29 +0000
commit738f4daed7f0555f7ac11dc2f527bc53dddd4e5b (patch)
tree13eae96b43d8f07c7bf1b94ae795384fb6fd7a6c /lib/PublicInbox/HlMod.pm
parent390441cbff937a6048c257df9c91474d63a629bc (diff)
Favor in-place utf8::decode since it's a bit faster without
method dispatch overhead; and don't care about validity just

HlMod->do_hl itself should return "utf8" strings, since other
parts of our code can use it, so it's not the job of ViewVCS to
post-process HlMod output.
Diffstat (limited to 'lib/PublicInbox/HlMod.pm')
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/PublicInbox/HlMod.pm b/lib/PublicInbox/HlMod.pm
index 237ffaca..decfd714 100644
--- a/lib/PublicInbox/HlMod.pm
+++ b/lib/PublicInbox/HlMod.pm
@@ -107,7 +107,12 @@ sub do_hl {
-        \($gen->generateString($$str))
+        # we assume $$str is valid UTF-8, but the SWIG binding doesn't
+        # know that, so ensure it's marked as UTF-8 even if it isnt...
+        my $out = $gen->generateString($$str);
+        utf8::decode($out);
+        \$out;
 # SWIG instances aren't reference-counted, but $self is;