From: René Scharfe Date: Fri, 13 Jan 2017 17:49:28 GMT Subject: Re: [PATCH 1/3] xdiff: -W: relax end-of-file function detection Message-ID: <23ca90e5-90a4-a03f-e51e-c82ebc75c16f@web.de> In-Reply-To: <1484324112-17773-1-git-send-email-vegard.nossum@oracle.com> Am 13.01.2017 um 17:15 schrieb Vegard Nossum: > When adding a new function to the end of a file, it's enough to know > that 1) the addition is at the end of the file; and 2) there is a > function _somewhere_ in there. > > If we had simply been changing the end of an existing function, then we > would also be deleting something from the old version. That makes sense, thanks. > This fixes the case where we add e.g. > > // Begin of dummy > static int dummy(void) > { > } > > to the end of the file. Without this patch the unchanged function before the added lines is shown in its entirety as (uncalled for) context. > > Cc: René Scharfe > Signed-off-by: Vegard Nossum > --- > xdiff/xemit.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/xdiff/xemit.c b/xdiff/xemit.c > index 7389ce4..8c88dbd 100644 > --- a/xdiff/xemit.c > +++ b/xdiff/xemit.c > @@ -183,16 +183,14 @@ int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, > > /* > * We don't need additional context if > - * a whole function was added, possibly > - * starting with empty lines. > + * a whole function was added. > */ > - while (i2 < xe->xdf2.nrec && > - is_empty_rec(&xe->xdf2, i2)) > + while (i2 < xe->xdf2.nrec) { > + if (match_func_rec(&xe->xdf2, xecfg, i2, > + dummy, sizeof(dummy)) >= 0) Nit: I don't like the indentation here. Giving "dummy" its own line is also not exactly pretty, but at least would allow the parameters to be aligned on the opening parenthesis. > + goto post_context_calculation; > i2++; > - if (i2 < xe->xdf2.nrec && > - match_func_rec(&xe->xdf2, xecfg, i2, > - dummy, sizeof(dummy)) >= 0) > - goto post_context_calculation; > + } > > /* > * Otherwise get more context from the >