Re: [RFC PATCH 1/3] xdiff-interface: make xdl_blankline() available
From: Stefan Beller <hidden>
Date: 2018-09-24 23:19:39
On Mon, Sep 24, 2018 at 3:06 AM Phillip Wood [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Phillip Wood <redacted> This will be used by the move detection code. Signed-off-by: Phillip Wood <redacted> --- xdiff-interface.c | 5 +++++ xdiff-interface.h | 5 +++++ 2 files changed, 10 insertions(+)diff --git a/xdiff-interface.c b/xdiff-interface.c index 9315bc0ede..eceabfa72d 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c@@ -308,6 +308,11 @@ int xdiff_compare_lines(const char *l1, long s1, return xdl_recmatch(l1, s1, l2, s2, flags); } +int xdiff_is_blankline(const char *l1, long s1, long flags) +{ + return xdl_blankline(l1, s1, flags); +} + int git_xmerge_style = -1; int git_xmerge_config(const char *var, const char *value, void *cb)diff --git a/xdiff-interface.h b/xdiff-interface.h index 135fc05d72..d0008b016f 100644 --- a/xdiff-interface.h +++ b/xdiff-interface.h@@ -45,4 +45,9 @@ extern int xdiff_compare_lines(const char *l1, long s1, */ extern unsigned long xdiff_hash_string(const char *s, size_t len, long flags); +/* + * Returns 1 if the line is blank, taking XDF_WHITESPACE_FLAGS into account
presumably in the flags field.
+ */ +extern int xdiff_is_blankline(const char *s, long len, long flags);
We also have
int ws_blank_line(const char *, int, int)
that looks very similar, but works slightly differently.
grep.c has
static int is_empty_line(const char *bol, const char *eol)
{
while (bol < eol && isspace(*bol))
bol++;
return bol == eol;
}
pretty.c also has a is_blank_line() (and some stale comment in
that file refers to it as is_empty_line, 77356122443
(pretty: make the skip_blank_lines() function public,
2016-06-22)
Would we be able to unify all these down to one or two
functions? (Maybe all can use the new xdiff function?)
It seems as if we're reinventing the wheel a couple times
in our code base.
Stefan