mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
b67af2812c
Summary: Convert the C and C++ files in cdatapack, clib, cstore, and ctreemanifest to always include files from the root of fb-hgext. This simplifies the build process by no long requiring a variety of separate include directories to be specified on the compiler command line. This will also make it easier to re-use these extensions in other projects with different build systems. This corresponds to the Facebook diff D5588676. Test Plan: Confirmed that "make local" succeeds from a clean build. Reviewers: #fbhgext, quark Reviewed By: #fbhgext, quark Differential Revision: https://phab.mercurial-scm.org/D505
29 lines
727 B
C
29 lines
727 B
C
#ifndef _HG_MPATCH_H_
|
|
#define _HG_MPATCH_H_
|
|
|
|
#define MPATCH_ERR_NO_MEM -3
|
|
#define MPATCH_ERR_CANNOT_BE_DECODED -2
|
|
#define MPATCH_ERR_INVALID_PATCH -1
|
|
|
|
#include "clib/portability/unistd.h"
|
|
|
|
struct mpatch_frag {
|
|
int start, end, len;
|
|
const char *data;
|
|
};
|
|
|
|
struct mpatch_flist {
|
|
struct mpatch_frag *base, *head, *tail;
|
|
};
|
|
|
|
int mpatch_decode(const char *bin, ssize_t len, struct mpatch_flist** res);
|
|
ssize_t mpatch_calcsize(ssize_t len, struct mpatch_flist *l);
|
|
void mpatch_lfree(struct mpatch_flist *a);
|
|
int mpatch_apply(char *buf, const char *orig, ssize_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);
|
|
|
|
#endif
|