Show More
@@ -278,8 +278,6 b' static PyObject *xdiffblocks(PyObject *s' | |||||
278 |
|
278 | |||
279 | xpparam_t xpp = { |
|
279 | xpparam_t xpp = { | |
280 | XDF_INDENT_HEURISTIC, /* flags */ |
|
280 | XDF_INDENT_HEURISTIC, /* flags */ | |
281 | NULL, /* anchors */ |
|
|||
282 | 0, /* anchors_nr */ |
|
|||
283 | }; |
|
281 | }; | |
284 | xdemitconf_t xecfg = { |
|
282 | xdemitconf_t xecfg = { | |
285 | 0, /* ctxlen */ |
|
283 | 0, /* ctxlen */ |
@@ -41,14 +41,6 b' extern "C" {' | |||||
41 | * (a1, a2 - a1, b1, b2 - b1) hunks */ |
|
41 | * (a1, a2 - a1, b1, b2 - b1) hunks */ | |
42 | #define XDL_EMIT_BDIFFHUNK (1 << 4) |
|
42 | #define XDL_EMIT_BDIFFHUNK (1 << 4) | |
43 |
|
43 | |||
44 | #define XDL_MMB_READONLY (1 << 0) |
|
|||
45 |
|
||||
46 | #define XDL_MMF_ATOMIC (1 << 0) |
|
|||
47 |
|
||||
48 | #define XDL_BDOP_INS 1 |
|
|||
49 | #define XDL_BDOP_CPY 2 |
|
|||
50 | #define XDL_BDOP_INSB 3 |
|
|||
51 |
|
||||
52 | /* merge simplification levels */ |
|
44 | /* merge simplification levels */ | |
53 | #define XDL_MERGE_MINIMAL 0 |
|
45 | #define XDL_MERGE_MINIMAL 0 | |
54 | #define XDL_MERGE_EAGER 1 |
|
46 | #define XDL_MERGE_EAGER 1 | |
@@ -75,10 +67,6 b' typedef struct s_mmbuffer {' | |||||
75 |
|
67 | |||
76 | typedef struct s_xpparam { |
|
68 | typedef struct s_xpparam { | |
77 | unsigned long flags; |
|
69 | unsigned long flags; | |
78 |
|
||||
79 | /* See Documentation/diff-options.txt. */ |
|
|||
80 | char **anchors; |
|
|||
81 | size_t anchors_nr; |
|
|||
82 | } xpparam_t; |
|
70 | } xpparam_t; | |
83 |
|
71 | |||
84 | typedef struct s_xdemitcb { |
|
72 | typedef struct s_xdemitcb { | |
@@ -101,10 +89,6 b' typedef struct s_xdemitconf {' | |||||
101 | xdl_emit_hunk_consume_func_t hunk_func; |
|
89 | xdl_emit_hunk_consume_func_t hunk_func; | |
102 | } xdemitconf_t; |
|
90 | } xdemitconf_t; | |
103 |
|
91 | |||
104 | typedef struct s_bdiffparam { |
|
|||
105 | long bsize; |
|
|||
106 | } bdiffparam_t; |
|
|||
107 |
|
||||
108 |
|
92 | |||
109 | #define xdl_malloc(x) malloc(x) |
|
93 | #define xdl_malloc(x) malloc(x) | |
110 | #define xdl_free(ptr) free(ptr) |
|
94 | #define xdl_free(ptr) free(ptr) |
@@ -56,9 +56,5 b' int xdl_build_script(xdfenv_t *xe, xdcha' | |||||
56 | void xdl_free_script(xdchange_t *xscr); |
|
56 | void xdl_free_script(xdchange_t *xscr); | |
57 | int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, |
|
57 | int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, | |
58 | xdemitconf_t const *xecfg); |
|
58 | xdemitconf_t const *xecfg); | |
59 | int xdl_do_patience_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, |
|
|||
60 | xdfenv_t *env); |
|
|||
61 | int xdl_do_histogram_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, |
|
|||
62 | xdfenv_t *env); |
|
|||
63 |
|
59 | |||
64 | #endif /* #if !defined(XDIFFI_H) */ |
|
60 | #endif /* #if !defined(XDIFFI_H) */ |
@@ -241,34 +241,3 b' int xdl_emit_hunk_hdr(long s1, long c1, ' | |||||
241 |
|
241 | |||
242 | return 0; |
|
242 | return 0; | |
243 | } |
|
243 | } | |
244 |
|
||||
245 | int xdl_fall_back_diff(xdfenv_t *diff_env, xpparam_t const *xpp, |
|
|||
246 | int line1, int count1, int line2, int count2) |
|
|||
247 | { |
|
|||
248 | /* |
|
|||
249 | * This probably does not work outside Git, since |
|
|||
250 | * we have a very simple mmfile structure. |
|
|||
251 | * |
|
|||
252 | * Note: ideally, we would reuse the prepared environment, but |
|
|||
253 | * the libxdiff interface does not (yet) allow for diffing only |
|
|||
254 | * ranges of lines instead of the whole files. |
|
|||
255 | */ |
|
|||
256 | mmfile_t subfile1, subfile2; |
|
|||
257 | xdfenv_t env; |
|
|||
258 |
|
||||
259 | subfile1.ptr = (char *)diff_env->xdf1.recs[line1 - 1]->ptr; |
|
|||
260 | subfile1.size = diff_env->xdf1.recs[line1 + count1 - 2]->ptr + |
|
|||
261 | diff_env->xdf1.recs[line1 + count1 - 2]->size - subfile1.ptr; |
|
|||
262 | subfile2.ptr = (char *)diff_env->xdf2.recs[line2 - 1]->ptr; |
|
|||
263 | subfile2.size = diff_env->xdf2.recs[line2 + count2 - 2]->ptr + |
|
|||
264 | diff_env->xdf2.recs[line2 + count2 - 2]->size - subfile2.ptr; |
|
|||
265 | if (xdl_do_diff(&subfile1, &subfile2, xpp, &env) < 0) |
|
|||
266 | return -1; |
|
|||
267 |
|
||||
268 | memcpy(diff_env->xdf1.rchg + line1 - 1, env.xdf1.rchg, count1); |
|
|||
269 | memcpy(diff_env->xdf2.rchg + line2 - 1, env.xdf2.rchg, count2); |
|
|||
270 |
|
||||
271 | xdl_free_env(&env); |
|
|||
272 |
|
||||
273 | return 0; |
|
|||
274 | } |
|
@@ -38,8 +38,6 b' unsigned int xdl_hashbits(unsigned int s' | |||||
38 | int xdl_num_out(char *out, long val); |
|
38 | int xdl_num_out(char *out, long val); | |
39 | int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2, |
|
39 | int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2, | |
40 | const char *func, long funclen, xdemitcb_t *ecb); |
|
40 | const char *func, long funclen, xdemitcb_t *ecb); | |
41 | int xdl_fall_back_diff(xdfenv_t *diff_env, xpparam_t const *xpp, |
|
|||
42 | int line1, int count1, int line2, int count2); |
|
|||
43 |
|
41 | |||
44 |
|
42 | |||
45 |
|
43 |
General Comments 0
You need to be logged in to leave comments.
Login now