summaryrefslogtreecommitdiffstats
path: root/sideband.c
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-12-03 23:37:13 +0100
committerJunio C Hamano <gitster@pobox.com>2018-12-04 04:12:46 +0100
commit1f672904508c9c4e722efaf6bb8696b2e7b9d8e0 (patch)
treed5e190746775e5ff9ac6af5d6ebd3ebd2bd9b614 /sideband.c
parentsideband: do not read beyond the end of input (diff)
downloadgit-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.c5
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);