hex: make wraparound of the index into ring-buffer explicit
[gitweb.git] / diff.c
diff --git a/diff.c b/diff.c
index 34aa855df732c4ffa35c174ea1ba2a8dc81bbfd9..7a4309397cb7fd6819d6f643b259c2bc3abe202f 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -949,7 +949,8 @@ static int find_word_boundaries(mmfile_t *buffer, regex_t *word_regex,
 {
        if (word_regex && *begin < buffer->size) {
                regmatch_t match[1];
-               if (!regexec(word_regex, buffer->ptr + *begin, 1, match, 0)) {
+               if (!regexec_buf(word_regex, buffer->ptr + *begin,
+                                buffer->size - *begin, 1, match, 0)) {
                        char *p = memchr(buffer->ptr + *begin + match[0].rm_so,
                                        '\n', match[0].rm_eo - match[0].rm_so);
                        *end = p ? p - buffer->ptr : match[0].rm_eo + *begin;
@@ -1252,14 +1253,6 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
                return;
        }
 
-       if (len < 1) {
-               emit_line(o, reset, reset, line, len);
-               if (ecbdata->diff_words
-                   && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN)
-                       fputs("~\n", o->file);
-               return;
-       }
-
        if (ecbdata->diff_words) {
                if (line[0] == '-') {
                        diff_words_append(line, len,