mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-03 14:38:08 +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;
|
||||
}
|
||||
|
||||
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(
|
||||
git_rawobj *out,
|
||||
const unsigned char *base,
|
||||
|
@ -30,4 +30,21 @@ extern int git__delta_apply(
|
||||
const unsigned char *delta,
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user