aboutsummaryrefslogtreecommitdiff
path: root/test/test004.left.txt
blob: 72d95cf6331a2a7f35baa19863e6dd0250112e23 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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);
}

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;
}