summaryrefslogtreecommitdiff
path: root/xdiff-interface.h
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-04-05 09:03:58 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-04-05 09:09:58 (GMT)
commitd9ea73e0564c7db8d791fe6b03c976ce57c9b079 (patch)
tree1440a434f16a356f31f5c00029fafecd7a5664ea /xdiff-interface.h
parentf23fc773a2acce9966ac7fa267818d5be55667fa (diff)
downloadgit-d9ea73e0564c7db8d791fe6b03c976ce57c9b079.zip
git-d9ea73e0564c7db8d791fe6b03c976ce57c9b079.tar.gz
git-d9ea73e0564c7db8d791fe6b03c976ce57c9b079.tar.bz2
combine-diff: refactor built-in xdiff interface.
This refactors the line-by-line callback mechanism used in combine-diff so that other programs can reuse it more easily. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'xdiff-interface.h')
-rw-r--r--xdiff-interface.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/xdiff-interface.h b/xdiff-interface.h
new file mode 100644
index 0000000..e2f0d66
--- /dev/null
+++ b/xdiff-interface.h
@@ -0,0 +1,18 @@
+#ifndef XDIFF_INTERFACE_H
+#define XDIFF_INTERFACE_H
+
+#include "xdiff/xdiff.h"
+
+struct xdiff_emit_state;
+
+typedef void (*xdiff_emit_consume_fn)(void *, char *, unsigned long);
+
+struct xdiff_emit_state {
+ xdiff_emit_consume_fn consume;
+ char *remainder;
+ unsigned long remainder_size;
+};
+
+int xdiff_outf(void *priv_, mmbuffer_t *mb, int nbuf);
+
+#endif