Message ID | 20180924100604.32208-2-phillip.wood@talktalk.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RFC,1/3] xdiff-interface: make xdl_blankline() available | expand |
On Mon, Sep 24, 2018 at 3:06 AM Phillip Wood <phillip.wood@talktalk.net> wrote: > > From: Phillip Wood <phillip.wood@dunelm.org.uk> > > This will be used by the move detection code. > > Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> > --- > 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
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 + */ +extern int xdiff_is_blankline(const char *s, long len, long flags); + #endif