mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 09:17:30 +03:00
ff36d65b5d
Summary: The Mercurial codebase contains over 500 errors, let's ignore them for now, we can go back to them later to fix them. Besides the manual change to .pyre_configuration.local, the changes were generated with: pyre --output=json check | pyre-upgrade fixme Reviewed By: singhsrb Differential Revision: D18803908 fbshipit-source-id: 724db7bd864c0de47a97ef2092bdee9f2cda531f
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
# Portions Copyright (c) Facebook, Inc. and its affiliates.
|
|
#
|
|
# This software may be used and distributed according to the terms of the
|
|
# GNU General Public License version 2.
|
|
|
|
# Copyright 2016 Mercurial Contributors
|
|
#
|
|
# This software may be used and distributed according to the terms of the
|
|
# GNU General Public License version 2 or any later version.
|
|
|
|
from __future__ import absolute_import
|
|
|
|
import os
|
|
|
|
# pyre-fixme[21]: Could not find `cffi`.
|
|
import cffi
|
|
|
|
|
|
ffi = cffi.FFI()
|
|
mpatch_c = os.path.join(os.path.join(os.path.dirname(__file__), "..", "mpatch.c"))
|
|
ffi.set_source(
|
|
"mercurial.cffi._mpatch", 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()
|