[PATCH v2 1/4] diff.c: pass struct diff_words into find_word_boundaries
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Dec 18, 2010, 16:17 UTC
- Message-ID
- <944a3f9ff6419115de6665f069eb87f5c81afd34.1292688058.git.trast@student.ethz.ch>
- In-Reply-To
- <cover.1292688058.git.trast@student.ethz.ch>
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@student.ethz.ch> --- 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