xdiff-interface: export comparing and hashing strings
This will turn out to be useful in a later patch. xdl_recmatch is exported in xdiff/xutils.h, to be used by various xdiff/*.c files, but not outside of xdiff/. This one makes it available to the outside, too. While at it, add documentation. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b66b507292
commit
5ec8274b84
@ -5,6 +5,7 @@
|
||||
#include "xdiff/xdiffi.h"
|
||||
#include "xdiff/xemit.h"
|
||||
#include "xdiff/xmacros.h"
|
||||
#include "xdiff/xutils.h"
|
||||
|
||||
struct xdiff_emit_state {
|
||||
xdiff_emit_consume_fn consume;
|
||||
@ -296,6 +297,17 @@ void xdiff_clear_find_func(xdemitconf_t *xecfg)
|
||||
}
|
||||
}
|
||||
|
||||
unsigned long xdiff_hash_string(const char *s, size_t len, long flags)
|
||||
{
|
||||
return xdl_hash_record(&s, s + len, flags);
|
||||
}
|
||||
|
||||
int xdiff_compare_lines(const char *l1, long s1,
|
||||
const char *l2, long s2, long flags)
|
||||
{
|
||||
return xdl_recmatch(l1, s1, l2, s2, flags);
|
||||
}
|
||||
|
||||
int git_xmerge_style = -1;
|
||||
|
||||
int git_xmerge_config(const char *var, const char *value, void *cb)
|
||||
|
@ -29,4 +29,20 @@ extern void xdiff_clear_find_func(xdemitconf_t *xecfg);
|
||||
extern int git_xmerge_config(const char *var, const char *value, void *cb);
|
||||
extern int git_xmerge_style;
|
||||
|
||||
/*
|
||||
* Compare the strings l1 with l2 which are of size s1 and s2 respectively.
|
||||
* Returns 1 if the strings are deemed equal, 0 otherwise.
|
||||
* The `flags` given as XDF_WHITESPACE_FLAGS determine how white spaces
|
||||
* are treated for the comparision.
|
||||
*/
|
||||
extern int xdiff_compare_lines(const char *l1, long s1,
|
||||
const char *l2, long s2, long flags);
|
||||
|
||||
/*
|
||||
* Returns a hash of the string s of length len.
|
||||
* The `flags` given as XDF_WHITESPACE_FLAGS determine how white spaces
|
||||
* are treated for the hash.
|
||||
*/
|
||||
extern unsigned long xdiff_hash_string(const char *s, size_t len, long flags);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user