X-Git-Url: https://git.octo.it/?p=git.git;a=blobdiff_plain;f=xdiff%2Fxutils.c;h=b68afa25c1d6e285005b2b84472b2faf62883a9d;hp=01e6765e3dd584c582211061427c9218fc683ae4;hb=621c53cc082299eaf69e9f2dc0274547c7d87fb0;hpb=3443546f6ef57fe28ea5cca232df8e400bfc3883 diff --git a/xdiff/xutils.c b/xdiff/xutils.c index 01e6765e..b68afa25 100644 --- a/xdiff/xutils.c +++ b/xdiff/xutils.c @@ -31,14 +31,22 @@ int xdl_emit_diffrec(char const *rec, long size, char const *pre, long psize, xdemitcb_t *ecb) { - mmbuffer_t mb[2]; + mmbuffer_t mb[3]; + int i; mb[0].ptr = (char *) pre; mb[0].size = psize; mb[1].ptr = (char *) rec; mb[1].size = size; + i = 2; - if (ecb->outf(ecb->priv, mb, 2) < 0) { + if (!size || rec[size-1] != '\n') { + mb[2].ptr = "\n\\ No newline at end of file\n"; + mb[2].size = strlen(mb[2].ptr); + i = 3; + } + + if (ecb->outf(ecb->priv, mb, i) < 0) { return -1; }