return 0;
}
+ if (git_color_config(var, value, cb) < 0)
+ return -1;
+
return git_diff_basic_config(var, value, cb);
}
{
int retval;
- if (*cp > *endp)
+ if (*cp >= *endp)
return -1;
if (isspace(**cp)) {
if (DIFF_XDL_TST(diffopt, IGNORE_WHITESPACE)) {
while (*cp < *endp && isspace(**cp))
(*cp)++;
- /* return the first non-ws character via the usual below */
+ /*
+ * return the first non-ws character via the usual
+ * below, unless we ate all of the bytes
+ */
+ if (*cp >= *endp)
+ return -1;
}
}
return a->es->len != b->es->len || memcmp(ap, bp, a->es->len);
if (DIFF_XDL_TST(diffopt, IGNORE_WHITESPACE_AT_EOL)) {
- while (ae > ap && isspace(*ae))
+ while (ae > ap && isspace(ae[-1]))
ae--;
- while (be > bp && isspace(*be))
+ while (be > bp && isspace(be[-1]))
be--;
}
int c;
strbuf_reset(&sb);
- while (ae > ap && isspace(*ae))
+ while (ae > ap && isspace(ae[-1]))
ae--;
- while ((c = next_byte(&ap, &ae, o)) > 0)
+ while ((c = next_byte(&ap, &ae, o)) >= 0)
strbuf_addch(&sb, c);
return memhash(sb.buf, sb.len);