summaryrefslogtreecommitdiff
path: root/xdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-16 21:01:28 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-16 21:33:13 -0800
commit00f8f97d30be7992c16bc466532cb591e00314bf (patch)
tree71879ad314076541471bb4ab83d13bdcf74ee02c /xdiff
parent7fb0eaa289576a1dcd7751015ba791f1bce778a9 (diff)
downloadgit-00f8f97d30be7992c16bc466532cb591e00314bf.tar.gz
xdl_merge(): introduce xmparam_t for merge specific parameters
So far we have only needed to be able to pass an option that is generic to xdiff family of functions to this function. Extend the interface so that we can give it merge specific parameters. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff')
-rw-r--r--xdiff/xdiff.h6
-rw-r--r--xdiff/xmerge.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h
index 4da052a3ff..b265909c60 100644
--- a/xdiff/xdiff.h
+++ b/xdiff/xdiff.h
@@ -108,9 +108,13 @@ long xdl_mmfile_size(mmfile_t *mmf);
int xdl_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
xdemitconf_t const *xecfg, xdemitcb_t *ecb);
+typedef struct s_xmparam {
+ xpparam_t xpp;
+} xmparam_t;
+
int xdl_merge(mmfile_t *orig, mmfile_t *mf1, const char *name1,
mmfile_t *mf2, const char *name2,
- xpparam_t const *xpp, int level, mmbuffer_t *result);
+ xmparam_t const *xmp, int level, mmbuffer_t *result);
#ifdef __cplusplus
}
diff --git a/xdiff/xmerge.c b/xdiff/xmerge.c
index 1cb65a9516..5c37b4ed25 100644
--- a/xdiff/xmerge.c
+++ b/xdiff/xmerge.c
@@ -538,10 +538,11 @@ static int xdl_do_merge(xdfenv_t *xe1, xdchange_t *xscr1, const char *name1,
int xdl_merge(mmfile_t *orig, mmfile_t *mf1, const char *name1,
mmfile_t *mf2, const char *name2,
- xpparam_t const *xpp, int flags, mmbuffer_t *result) {
+ xmparam_t const *xmp, int flags, mmbuffer_t *result) {
xdchange_t *xscr1, *xscr2;
xdfenv_t xe1, xe2;
int status;
+ xpparam_t const *xpp = &xmp->xpp;
result->ptr = NULL;
result->size = 0;