8a3f524bf2
This further enhances xdi_diff_outf() interface so that it takes two common parameters: the callback function that processes one line at a time, and a pointer to its application specific callback data structure. xdi_diff_outf() creates its own "xdiff_emit_state" structure and stashes these two away inside it, which is used by the lowest level output function in the xdiff_outf() callchain, consume_one(), to call back to the application layer. With this restructuring, we lift the requirement that the caller supplied callback data structure embeds xdiff_emit_state structure as its first member. Signed-off-by: Junio C Hamano <gitster@pobox.com>
22 lines
733 B
C
22 lines
733 B
C
#ifndef XDIFF_INTERFACE_H
|
|
#define XDIFF_INTERFACE_H
|
|
|
|
#include "xdiff/xdiff.h"
|
|
|
|
typedef void (*xdiff_emit_consume_fn)(void *, char *, unsigned long);
|
|
|
|
int xdi_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdemitconf_t const *xecfg, xdemitcb_t *ecb);
|
|
int xdi_diff_outf(mmfile_t *mf1, mmfile_t *mf2,
|
|
xdiff_emit_consume_fn fn, void *consume_callback_data,
|
|
xpparam_t const *xpp,
|
|
xdemitconf_t const *xecfg, xdemitcb_t *xecb);
|
|
int parse_hunk_header(char *line, int len,
|
|
int *ob, int *on,
|
|
int *nb, int *nn);
|
|
int read_mmfile(mmfile_t *ptr, const char *filename);
|
|
int buffer_is_binary(const char *ptr, unsigned long size);
|
|
|
|
extern void xdiff_set_find_func(xdemitconf_t *xecfg, const char *line);
|
|
|
|
#endif
|