mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-18 15:53:37 +00:00
59c8e88e72
git-subtree-dir: contrib/libdiff git-subtree-mainline:f6d489f402
git-subtree-split:9eb461aa4b
Reviewed by: imp Sponsored by: Klara, Inc.
15 lines
429 B
Plaintext
15 lines
429 B
Plaintext
int Chunk_bounds_check(Chunk *chunk, size_t start, size_t n)
|
|
{
|
|
if (chunk == NULL) return 0;
|
|
|
|
return start <= chunk->length && n <= chunk->length - start;
|
|
}
|
|
|
|
void Chunk_copy(Chunk *src, size_t src_start, Chunk *dst, size_t dst_start, size_t n)
|
|
{
|
|
if (!Chunk_bounds_check(src, src_start, n)) return;
|
|
if (!Chunk_bounds_check(dst, dst_start, n)) return;
|
|
|
|
memcpy(dst->data + dst_start, src->data + src_start, n);
|
|
}
|