diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-08-13 23:18:22 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-08-14 00:30:26 -0700 |
commit | 8a3f524bf2ac534b313a7d8e70cc164cef744949 (patch) | |
tree | ec390ebbf7cb3d7b441043d18956abf82b40e3ad /builtin-blame.c | |
parent | b463776086a12c587f6d91c0347641fb6f7ddd72 (diff) | |
download | git-8a3f524bf2ac534b313a7d8e70cc164cef744949.tar.gz |
xdiff-interface: hide the whole "xdiff_emit_state" business from the caller
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>
Diffstat (limited to 'builtin-blame.c')
-rw-r--r-- | builtin-blame.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/builtin-blame.c b/builtin-blame.c index 8cca3b16d2..e4d12de8a9 100644 --- a/builtin-blame.c +++ b/builtin-blame.c @@ -465,7 +465,6 @@ struct patch { }; struct blame_diff_state { - struct xdiff_emit_state xm; struct patch *ret; unsigned hunk_post_context; unsigned hunk_in_pre_context : 1; @@ -529,12 +528,11 @@ static struct patch *compare_buffer(mmfile_t *file_p, mmfile_t *file_o, memset(&xecfg, 0, sizeof(xecfg)); xecfg.ctxlen = context; memset(&state, 0, sizeof(state)); - state.xm.consume = process_u_diff; state.ret = xmalloc(sizeof(struct patch)); state.ret->chunks = NULL; state.ret->num = 0; - xdi_diff_outf(file_p, file_o, &state.xm, &xpp, &xecfg, &ecb); + xdi_diff_outf(file_p, file_o, process_u_diff, &state, &xpp, &xecfg, &ecb); if (state.ret->num) { struct chunk *chunk; |