From dfea79004c54bc96143386d6ac22de500ba4f747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scharfe?= Date: Tue, 4 May 2010 22:41:34 +0200 Subject: 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 Acked-by: Jeff King Signed-off-by: Junio C Hamano --- xdiff-interface.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'xdiff-interface.c') 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; } -- cgit v1.2.3