about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-12-15 03:37:56 +0000
committerEric Wong <e@80x24.org>2019-12-15 06:32:00 +0000
commit3b3b25d8e68b71fac10ff17d28c89198fd76d1fc (patch)
tree56da2fe9dcdefed0477c760724479520b4f7d827 /lib
parentb93c7a7efed33c68a2cf229d3086d4edec082149 (diff)
downloadpublic-inbox-3b3b25d8e68b71fac10ff17d28c89198fd76d1fc.tar.gz
git_unquote works in-place, and we sometimes see strange
filenames, or badly munged diffs with terminal escape
characters (for colorization) end up in emails.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/SearchIdx.pm6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index f265fa7f..926fac80 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -204,11 +204,13 @@ sub index_diff ($$$) {
                         $in_diff = $self->index_old_diff_fn(\%seen, $fa, $fb,
                                                         $xnq);
                 } elsif (m!^--- ("?a/.+)!) {
-                        my $fn = (split('/', git_unquote($1), 2))[1];
+                        my $fn = $1;
+                        $fn = (split('/', git_unquote($fn), 2))[1];
                         $seen{$fn}++ or $self->index_diff_inc($fn, 'XDFN', $xnq);
                         $in_diff = 1;
                 } elsif (m!^\+\+\+ ("?b/.+)!)  {
-                        my $fn = (split('/', git_unquote($1), 2))[1];
+                        my $fn = $1;
+                        $fn = (split('/', git_unquote($fn), 2))[1];
                         $seen{$fn}++ or $self->index_diff_inc($fn, 'XDFN', $xnq);
                         $in_diff = 1;
                 } elsif (/^--- (\S+)/) {