diff options
author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | 2010-05-04 22:41:34 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-05-04 15:19:14 -0700 |
commit | dfea79004c54bc96143386d6ac22de500ba4f747 (patch) | |
tree | ddaea54211bb9e03e0fc699575f74eb01546988c /xdiff-interface.c | |
parent | ed215b109fc0e352456ea2ef6a0f8375e28466d5 (diff) | |
download | git-dfea79004c54bc96143386d6ac22de500ba4f747.tar.gz |
remove ecb parameter from xdi_diff_outf()
xdi_diff_outf() overrides the structure members of its last parameter,
ignoring any value that callers pass in. It's no surprise then that all
callers pass a pointer to an uninitialized structure. They also don't
read it after the call, so the parameter is neither used for input nor
for output. Turn it into a local variable of xdi_diff_outf().
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff-interface.c')
-rw-r--r-- | xdiff-interface.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/xdiff-interface.c b/xdiff-interface.c index 01f14fb50f..3cf39c39c4 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -138,19 +138,20 @@ int xdi_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdemitconf_t co 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) + xpparam_t const *xpp, xdemitconf_t const *xecfg) { int ret; struct xdiff_emit_state state; + xdemitcb_t ecb; memset(&state, 0, sizeof(state)); state.consume = fn; state.consume_callback_data = consume_callback_data; - xecb->outf = xdiff_outf; - xecb->priv = &state; + memset(&ecb, 0, sizeof(ecb)); + ecb.outf = xdiff_outf; + ecb.priv = &state; strbuf_init(&state.remainder, 0); - ret = xdi_diff(mf1, mf2, xpp, xecfg, xecb); + ret = xdi_diff(mf1, mf2, xpp, xecfg, &ecb); strbuf_release(&state.remainder); return ret; } |