equal
deleted
inserted
replaced
|
1 from __future__ import absolute_import |
|
2 |
|
3 import cffi |
|
4 import os |
|
5 |
|
6 ffi = cffi.FFI() |
|
7 ffi.set_source("_bdiff_cffi", |
|
8 open(os.path.join(os.path.join(os.path.dirname(__file__), 'mercurial'), |
|
9 'bdiff.c')).read(), include_dirs=['mercurial']) |
|
10 ffi.cdef(""" |
|
11 struct bdiff_line { |
|
12 int hash, n, e; |
|
13 ssize_t len; |
|
14 const char *l; |
|
15 }; |
|
16 |
|
17 struct bdiff_hunk; |
|
18 struct bdiff_hunk { |
|
19 int a1, a2, b1, b2; |
|
20 struct bdiff_hunk *next; |
|
21 }; |
|
22 |
|
23 int bdiff_splitlines(const char *a, ssize_t len, struct bdiff_line **lr); |
|
24 int bdiff_diff(struct bdiff_line *a, int an, struct bdiff_line *b, int bn, |
|
25 struct bdiff_hunk *base); |
|
26 void bdiff_freehunks(struct bdiff_hunk *l); |
|
27 void free(void*); |
|
28 """) |
|
29 |
|
30 if __name__ == '__main__': |
|
31 ffi.compile() |