From: Thomas Rast Date: Fri, 18 May 2012 08:28:17 GMT Subject: Re: [PATCH 0/5] xdiff: replace emit_func() with type-safe Message-ID: <87aa15hp0e.fsf@thomas.inf.ethz.ch> In-Reply-To: <4FAAD13E.8030806@lsrfire.ath.cx> René Scharfe writes: > Commit ef2e62fe added the ability to bypass the creation of textual diffs > and to access diff data directly, through the added emit_func member of > xdemitconf_t. This function pointer has a type of "void (*)()", because > "int (*)(xdfenv_t *, xdchange_t *, xdemitcb_t *, xdemitconf_t const *)" > (its real type) would be difficult to export due to the many internal > types in that signature. > > This feature is currently used twice in git blame, through the function > xdi_diff_hunks(). Both cases only need to know which lines are affected > by the different hunks of a diff, i.e. the numbers shown in hunk headers > of unified diffs. > > This patch series adds a simpler mechanism to accommodate these two > callers, in a type-safe way, without exporting too many internal types > of libxdiff. The last patch removes the old functions. Cool, thanks a lot, this will come in handy when I finally get around to finishing log -L. -- Thomas Rast trast@{inf,student}.ethz.ch