From 3405ad72b6501ec874375a362e7fa58ef6f859ae Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Tue, 24 Sep 2019 18:33:12 +0100 Subject: [PATCH] Handle edge case in common prefix calculation --- autoload/gitgutter/diff_highlight.vim | 3 +++ test/test_gitgutter.vim | 3 +++ 2 files changed, 6 insertions(+) diff --git a/autoload/gitgutter/diff_highlight.vim b/autoload/gitgutter/diff_highlight.vim index 7bd48e0..c2c48e1 100644 --- a/autoload/gitgutter/diff_highlight.vim +++ b/autoload/gitgutter/diff_highlight.vim @@ -162,6 +162,9 @@ endif " function! s:common_prefix(a, b) let len = min([len(a:a), len(a:b)]) + if len == 0 + return -1 + endif for i in range(len) if a:a[i:i] != a:b[i:i] return i - 1 diff --git a/test/test_gitgutter.vim b/test/test_gitgutter.vim index a65e0f1..20044bb 100644 --- a/test/test_gitgutter.vim +++ b/test/test_gitgutter.vim @@ -916,6 +916,9 @@ endfunction function Test_common_prefix() + " zero length + call assert_equal(-1, gitgutter#diff_highlight#common_prefix('', 'foo')) + call assert_equal(-1, gitgutter#diff_highlight#common_prefix('foo', '')) " nothing in common call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+pqrst')) call assert_equal(-1, gitgutter#diff_highlight#common_prefix('abcde', 'pqrst'))