ups, it seems this has been committed (?)
On Thu, Sep 8, 2016 at 10:04 AM, Maciej Fijalkowski <fij...@gmail.com> wrote: > # HG changeset patch > # User fijal > # Date 1473321829 -7200 > # Thu Sep 08 10:03:49 2016 +0200 > # Node ID e812104013b1281b24dff50dd902897d24b0e29f > # Parent 64e432c2740087b7c042346f55af9512ead0f849 > mpatch: add missing file > > diff --git a/setup_mpatch_cffi.py b/setup_mpatch_cffi.py > new file mode 100644 > --- /dev/null > +++ b/setup_mpatch_cffi.py > @@ -0,0 +1,36 @@ > + > +from __future__ import absolute_import > + > +import os > +import cffi > + > +ffi = cffi.FFI() > +mpatch_c = os.path.join(os.path.join(os.path.dirname(__file__), 'mercurial', > + 'mpatch.c')) > +ffi.set_source("_mpatch_cffi", open(mpatch_c).read(), > + include_dirs=["mercurial"]) > +ffi.cdef(""" > + > +struct mpatch_frag { > + int start, end, len; > + const char *data; > +}; > + > +struct mpatch_flist { > + struct mpatch_frag *base, *head, *tail; > +}; > + > +extern "Python" struct mpatch_flist* cffi_get_next_item(void*, ssize_t); > + > +int mpatch_decode(const char *bin, ssize_t len, struct mpatch_flist** res); > +ssize_t mpatch_calcsize(size_t len, struct mpatch_flist *l); > +void mpatch_lfree(struct mpatch_flist *a); > +static int mpatch_apply(char *buf, const char *orig, size_t len, > + struct mpatch_flist *l); > +struct mpatch_flist *mpatch_fold(void *bins, > + struct mpatch_flist* (*get_next_item)(void*, ssize_t), > + ssize_t start, ssize_t end); > +""") > + > +if __name__ == '__main__': > + ffi.compile() _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel