path: root/xdiff/xemit.h
diff options
authorBrian Downing <>2008-10-25 13:30:54 (GMT)
committerJunio C Hamano <>2008-10-25 19:09:31 (GMT)
commitef2e62fe23173586f49a00c6ae953ebbdb0d13ab (patch)
tree13c9c71347563800dc9dfb025ad97bfcffb804f7 /xdiff/xemit.h
parent9ccd0a88ac3ea13ac2df4630bfd01c02084f965e (diff)
Allow alternate "low-level" emit function from xdl_diff
For some users (e.g. git blame), getting textual patch output is just extra work, as they can get all the information they need from the low- level diff structures. Allow for an alternate low-level emit function to be defined to allow bypassing the textual patch generation; set xemitconf_t's emit_func member to enable this. The (void (*)()) type is pretty ugly, but the alternative would be to include most of the private xdiff headers in xdiff.h to get the types required for the "proper" function prototype. Also, a (void *) won't work, as ANSI C doesn't allow a function pointer to be cast to an object pointer. Signed-off-by: Brian Downing <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'xdiff/xemit.h')
1 files changed, 3 insertions, 0 deletions
diff --git a/xdiff/xemit.h b/xdiff/xemit.h
index 440a739..c2e2e83 100644
--- a/xdiff/xemit.h
+++ b/xdiff/xemit.h
@@ -24,7 +24,10 @@
#define XEMIT_H
+typedef int (*emit_func_t)(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb,
+ xdemitconf_t const *xecfg);
+xdchange_t *xdl_get_hunk(xdchange_t *xscr, xdemitconf_t const *xecfg);
int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb,
xdemitconf_t const *xecfg);