mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-06 08:47:46 +00:00
delta-apply: add git__delta_read_header
This commit is contained in:
parent
f1e5c506b2
commit
d1b6ea8ad1
@ -36,6 +36,19 @@ static int hdr_sz(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int git__delta_read_header(
|
||||||
|
const unsigned char *delta,
|
||||||
|
size_t delta_len,
|
||||||
|
size_t *base_sz,
|
||||||
|
size_t *res_sz)
|
||||||
|
{
|
||||||
|
const unsigned char *delta_end = delta + delta_len;
|
||||||
|
if ((hdr_sz(base_sz, &delta, delta_end) < 0) ||
|
||||||
|
(hdr_sz(res_sz, &delta, delta_end) < 0))
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int git__delta_apply(
|
int git__delta_apply(
|
||||||
git_rawobj *out,
|
git_rawobj *out,
|
||||||
const unsigned char *base,
|
const unsigned char *base,
|
||||||
|
@ -30,4 +30,21 @@ extern int git__delta_apply(
|
|||||||
const unsigned char *delta,
|
const unsigned char *delta,
|
||||||
size_t delta_len);
|
size_t delta_len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read the header of a git binary delta.
|
||||||
|
*
|
||||||
|
* @param delta the delta to execute copy/insert instructions from.
|
||||||
|
* @param delta_len total number of bytes in the delta.
|
||||||
|
* @param base_sz pointer to store the base size field.
|
||||||
|
* @param res_sz pointer to store the result size field.
|
||||||
|
* @return
|
||||||
|
* - 0 on a successful decoding the header.
|
||||||
|
* - GIT_ERROR if the delta is corrupt.
|
||||||
|
*/
|
||||||
|
extern int git__delta_read_header(
|
||||||
|
const unsigned char *delta,
|
||||||
|
size_t delta_len,
|
||||||
|
size_t *base_sz,
|
||||||
|
size_t *res_sz);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user