Merge branch 'sg/maint-gitdir-in-subdir' into maint
[gitweb.git] / xdiff / xdiffi.c
index 5cb7171a8f528881c6171defa5b102e87d7aa522..9d0324a38c2a1974648e67161fa0ed1b0f811233 100644 (file)
@@ -257,8 +257,6 @@ static long xdl_split(unsigned long const *ha1, long off1, long lim1,
                        return ec;
                }
        }
-
-       return -1;
 }
 
 
@@ -540,6 +538,8 @@ int xdl_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
             xdemitconf_t const *xecfg, xdemitcb_t *ecb) {
        xdchange_t *xscr;
        xdfenv_t xe;
+       emit_func_t ef = xecfg->emit_func ?
+               (emit_func_t)xecfg->emit_func : xdl_emit_diff;
 
        if (xdl_do_diff(mf1, mf2, xpp, &xe) < 0) {
 
@@ -553,7 +553,7 @@ int xdl_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
                return -1;
        }
        if (xscr) {
-               if (xdl_emit_diff(&xe, xscr, ecb, xecfg) < 0) {
+               if (ef(&xe, xscr, ecb, xecfg) < 0) {
 
                        xdl_free_script(xscr);
                        xdl_free_env(&xe);