xref: /src/contrib/libdiff/test/test004.left.txt (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
19eb461aaSDag-Erling Smørgravvoid Chunk_copy(Chunk *src, size_t src_start, Chunk *dst, size_t dst_start, size_t n)
29eb461aaSDag-Erling Smørgrav{
39eb461aaSDag-Erling Smørgrav    if (!Chunk_bounds_check(src, src_start, n)) return;
49eb461aaSDag-Erling Smørgrav    if (!Chunk_bounds_check(dst, dst_start, n)) return;
59eb461aaSDag-Erling Smørgrav
69eb461aaSDag-Erling Smørgrav    memcpy(dst->data + dst_start, src->data + src_start, n);
79eb461aaSDag-Erling Smørgrav}
89eb461aaSDag-Erling Smørgrav
99eb461aaSDag-Erling Smørgravint Chunk_bounds_check(Chunk *chunk, size_t start, size_t n)
109eb461aaSDag-Erling Smørgrav{
119eb461aaSDag-Erling Smørgrav    if (chunk == NULL) return 0;
129eb461aaSDag-Erling Smørgrav
139eb461aaSDag-Erling Smørgrav    return start <= chunk->length && n <= chunk->length - start;
149eb461aaSDag-Erling Smørgrav}
15