commit - 37f62f5d4e914963adfbf2085f5fd9294d79b497
commit + 66ea8e5adfb496de581ba4b78479f3258692ee9e
blob - c4259e18e965b715f404bfcfb23821be55b30468
blob + f9307b1fc9fb1776eb3f64b4bf48067896283ca3
--- lib/diff_output_unidiff.c
+++ lib/diff_output_unidiff.c
struct diff_output_unidiff_state *state,
const struct diff_input_info *info,
const struct diff_result *result,
+ bool print_header,
const struct diff_chunk_context *cc)
{
int rc, left_start, left_len, right_start, right_len;
outoff = outinfo->line_offsets.head[idx];
}
- if (!(state->header_printed)) {
+ if (print_header && !(state->header_printed)) {
rc = fprintf(dest, "--- %s\n", info->left_path ? : "a");
if (rc < 0)
return errno;
}
return output_unidiff_chunk(outinfo, dest, state, info,
- result, cc);
+ result, false, cc);
}
int
debug("new chunk to be printed does not touch previous chunk;"
" print left %d-%d right %d-%d\n",
cc.left.start, cc.left.end, cc.right.start, cc.right.end);
- output_unidiff_chunk(outinfo, dest, state, info, result, &cc);
+ output_unidiff_chunk(outinfo, dest, state, info, result,
+ true, &cc);
cc = next;
debug("new unprinted chunk is left %d-%d right %d-%d\n",
cc.left.start, cc.left.end, cc.right.start, cc.right.end);
}
if (!diff_chunk_context_empty(&cc))
- output_unidiff_chunk(outinfo, dest, state, info, result, &cc);
+ output_unidiff_chunk(outinfo, dest, state, info, result,
+ true, &cc);
diff_output_unidiff_state_free(state);
return DIFF_RC_OK;
}