Commit abba3539 authored by Eric Sunshine's avatar Eric Sunshine Committed by Junio C Hamano

blame: reject empty ranges -LX,+0 and -LX,-0

Empty ranges -LX,+0 and -LX,-0 are nonsensical in the context of blame
yet they are accepted (in fact, both are interpreted as -LX,+2).  Report
them as invalid.
Signed-off-by: Eric Sunshine's avatarEric Sunshine <[email protected]>
Signed-off-by: default avatarJunio C Hamano <[email protected]>
parent dedb9129
...@@ -26,6 +26,8 @@ static const char *parse_loc(const char *spec, nth_line_fn_t nth_line, ...@@ -26,6 +26,8 @@ static const char *parse_loc(const char *spec, nth_line_fn_t nth_line,
if (term != spec + 1) { if (term != spec + 1) {
if (!ret) if (!ret)
return term; return term;
if (num == 0)
die("-L invalid empty range");
if (spec[0] == '-') if (spec[0] == '-')
num = 0 - num; num = 0 - num;
if (0 < num) if (0 < num)
......
...@@ -185,7 +185,7 @@ test_expect_success 'blame -L Y,X (undocumented)' ' ...@@ -185,7 +185,7 @@ test_expect_success 'blame -L Y,X (undocumented)' '
check_count -L6,3 B 1 B1 1 B2 1 D 1 check_count -L6,3 B 1 B1 1 B2 1 D 1
' '
test_expect_failure 'blame -L X,+0' ' test_expect_success 'blame -L X,+0' '
test_must_fail $PROG -L1,+0 file test_must_fail $PROG -L1,+0 file
' '
...@@ -197,7 +197,7 @@ test_expect_success 'blame -L X,+N' ' ...@@ -197,7 +197,7 @@ test_expect_success 'blame -L X,+N' '
check_count -L3,+4 B 1 B1 1 B2 1 D 1 check_count -L3,+4 B 1 B1 1 B2 1 D 1
' '
test_expect_failure 'blame -L X,-0' ' test_expect_success 'blame -L X,-0' '
test_must_fail $PROG -L1,-0 file test_must_fail $PROG -L1,-0 file
' '
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment