| 131 | } |
| 132 | |
| 133 | int xdi_diff_outf(mmfile_t *mf1, mmfile_t *mf2, |
| 134 | xdiff_emit_hunk_fn hunk_fn, |
| 135 | xdiff_emit_line_fn line_fn, |
| 136 | void *consume_callback_data, |
| 137 | xpparam_t const *xpp, xdemitconf_t const *xecfg) |
| 138 | { |
| 139 | int ret; |
| 140 | struct xdiff_emit_state state; |
| 141 | xdemitcb_t ecb; |
| 142 | |
| 143 | memset(&state, 0, sizeof(state)); |
| 144 | state.hunk_fn = hunk_fn; |
| 145 | state.line_fn = line_fn; |
| 146 | state.consume_callback_data = consume_callback_data; |
| 147 | memset(&ecb, 0, sizeof(ecb)); |
| 148 | if (hunk_fn) |
| 149 | ecb.out_hunk = xdiff_out_hunk; |
| 150 | ecb.out_line = xdiff_outf; |
| 151 | ecb.priv = &state; |
| 152 | strbuf_init(&state.remainder, 0); |
| 153 | ret = xdi_diff(mf1, mf2, xpp, xecfg, &ecb); |
| 154 | strbuf_release(&state.remainder); |
| 155 | return ret; |
| 156 | } |
| 157 | |
| 158 | int read_mmfile(mmfile_t *ptr, const char *filename) |
| 159 | { |
no test coverage detected