Re: [PATCH 0/5] xdiff: replace emit_func() with type-safe
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- May 18, 2012, 08:28 UTC
- Message-ID
- <87aa15hp0e.fsf@thomas.inf.ethz.ch>
- In-Reply-To
- <4FAAD13E.8030806@lsrfire.ath.cx>
René Scharfe <rene.scharfe@lsrfire.ath.cx> writes:
Show 15 quoted lines
> 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