diff options
author | Stefan Beller <sbeller@google.com> | 2018-12-03 23:37:13 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-12-04 04:12:46 +0100 |
commit | 1f672904508c9c4e722efaf6bb8696b2e7b9d8e0 (patch) | |
tree | d5e190746775e5ff9ac6af5d6ebd3ebd2bd9b614 /sideband.c | |
parent | sideband: do not read beyond the end of input (diff) | |
download | git-1f672904508c9c4e722efaf6bb8696b2e7b9d8e0.tar.xz git-1f672904508c9c4e722efaf6bb8696b2e7b9d8e0.zip |
sideband: color lines with keyword only
When bf1a11f0a1 (sideband: highlight keywords in remote sideband output,
2018-08-07) was introduced, it was carefully considered which strings
would be highlighted. However 59a255aef0 (sideband: do not read beyond
the end of input, 2018-08-18) brought in a regression that the original
did not test for. A line containing only the keyword and nothing else
("SUCCESS") should still be colored.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sideband.c')
-rw-r--r-- | sideband.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sideband.c b/sideband.c index 368647acf8..7c3d33d3f8 100644 --- a/sideband.c +++ b/sideband.c @@ -87,7 +87,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) struct keyword_entry *p = keywords + i; int len = strlen(p->keyword); - if (n <= len) + if (n < len) continue; /* * Match case insensitively, so we colorize output from existing @@ -95,7 +95,8 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n) * messages. We only highlight the word precisely, so * "successful" stays uncolored. */ - if (!strncasecmp(p->keyword, src, len) && !isalnum(src[len])) { + if (!strncasecmp(p->keyword, src, len) && + (len == n || !isalnum(src[len]))) { strbuf_addstr(dest, p->color); strbuf_add(dest, src, len); strbuf_addstr(dest, GIT_COLOR_RESET); |