We need the word_regex_check member. Instead of adding another argument, just pass in the whole struct for future extensibility. Signed-off-by: Thomas Rast <trast@xxxxxxxxxxxxxxx> --- diff.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/diff.c b/diff.c index 0a43869..5fdcb15 100644 --- a/diff.c +++ b/diff.c @@ -778,12 +778,13 @@ static void fn_out_diff_words_aux(void *priv, char *line, unsigned long len) } /* This function starts looking at *begin, and returns 0 iff a word was found. */ -static int find_word_boundaries(mmfile_t *buffer, regex_t *word_regex, +static int find_word_boundaries(mmfile_t *buffer, struct diff_words_data *diff_words, int *begin, int *end) { - if (word_regex && *begin < buffer->size) { + if (diff_words->word_regex && *begin < buffer->size) { regmatch_t match[1]; - if (!regexec(word_regex, buffer->ptr + *begin, 1, match, 0)) { + if (!regexec(diff_words->word_regex, buffer->ptr + *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; @@ -813,7 +814,7 @@ static int find_word_boundaries(mmfile_t *buffer, regex_t *word_regex, * in buffer->orig. */ static void diff_words_fill(struct diff_words_buffer *buffer, mmfile_t *out, - regex_t *word_regex) + struct diff_words_data *diff_words) { int i, j; long alloc = 0; @@ -827,7 +828,7 @@ static void diff_words_fill(struct diff_words_buffer *buffer, mmfile_t *out, buffer->orig_nr = 1; for (i = 0; i < buffer->text.size; i++) { - if (find_word_boundaries(&buffer->text, word_regex, &i, &j)) + if (find_word_boundaries(&buffer->text, diff_words, &i, &j)) return; /* store original boundaries */ -- 1.7.3.4.789.g74ad1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html