Skip to content

Commit

Permalink
parse_color: fix return value for numeric color values 0-8
Browse files Browse the repository at this point in the history
When commit 695d95d refactored the color parsing, it missed
a "return 0" when parsing literal numbers 0-8 (which
represent basic ANSI colors), leading us to report these
colors as an error.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Jan 20, 2015
1 parent 71b5984 commit 3759d27
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
1 change: 1 addition & 0 deletions color.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ static int parse_color(struct color *out, const char *name, int len)
} else if (val < 8) {
out->type = COLOR_ANSI;
out->value = val;
return 0;
} else if (val < 256) {
out->type = COLOR_256;
out->value = val;
Expand Down
4 changes: 4 additions & 0 deletions t/t4026-color.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ test_expect_success 'absurdly long color specification' '
"[1;2;4;5;7;22;24;25;27;38;2;255;255;255;48;2;255;255;255m"
'

test_expect_success '0-7 are aliases for basic ANSI color names' '
color "0 7" "[30;47m"
'

test_expect_success '256 colors' '
color "254 bold 255" "[1;38;5;254;48;5;255m"
'
Expand Down

0 comments on commit 3759d27

Please sign in to comment.