2006-04-05 09:03:58 +00:00
|
|
|
#ifndef XDIFF_INTERFACE_H
|
|
|
|
#define XDIFF_INTERFACE_H
|
|
|
|
|
|
|
|
#include "xdiff/xdiff.h"
|
2008-08-14 05:36:51 +00:00
|
|
|
#include "strbuf.h"
|
2006-04-05 09:03:58 +00:00
|
|
|
|
|
|
|
struct xdiff_emit_state;
|
|
|
|
|
|
|
|
typedef void (*xdiff_emit_consume_fn)(void *, char *, unsigned long);
|
|
|
|
|
|
|
|
struct xdiff_emit_state {
|
|
|
|
xdiff_emit_consume_fn consume;
|
2008-08-14 05:36:51 +00:00
|
|
|
struct strbuf remainder;
|
2006-04-05 09:03:58 +00:00
|
|
|
};
|
|
|
|
|
2007-12-13 21:25:07 +00:00
|
|
|
int xdi_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdemitconf_t const *xecfg, xdemitcb_t *ecb);
|
Make xdi_diff_outf interface for running xdiff_outf diffs
To prepare for the need to initialize and release resources for an
xdi_diff with the xdiff_outf output function, make a new function to
wrap this usage.
Old:
ecb.outf = xdiff_outf;
ecb.priv = &state;
...
xdi_diff(file_p, file_o, &xpp, &xecfg, &ecb);
New:
xdi_diff_outf(file_p, file_o, &state.xm, &xpp, &xecfg, &ecb);
Signed-off-by: Brian Downing <bdowning@lavos.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-08-14 05:36:50 +00:00
|
|
|
int xdi_diff_outf(mmfile_t *mf1, mmfile_t *mf2,
|
|
|
|
struct xdiff_emit_state *state, xpparam_t const *xpp,
|
|
|
|
xdemitconf_t const *xecfg, xdemitcb_t *xecb);
|
2006-04-05 19:22:35 +00:00
|
|
|
int parse_hunk_header(char *line, int len,
|
2006-04-07 05:29:55 +00:00
|
|
|
int *ob, int *on,
|
|
|
|
int *nb, int *nn);
|
2006-12-20 16:37:07 +00:00
|
|
|
int read_mmfile(mmfile_t *ptr, const char *filename);
|
2007-06-05 02:36:11 +00:00
|
|
|
int buffer_is_binary(const char *ptr, unsigned long size);
|
2006-04-05 09:03:58 +00:00
|
|
|
|
2007-07-06 07:45:10 +00:00
|
|
|
extern void xdiff_set_find_func(xdemitconf_t *xecfg, const char *line);
|
|
|
|
|
2006-04-05 09:03:58 +00:00
|
|
|
#endif
|