3 +int Chunk_bounds_check(Chunk *chunk, size_t start, size_t n)
5 + if (chunk == NULL) return 0;
7 + return start <= chunk->length && n <= chunk->length - start;
10 void Chunk_copy(Chunk *src, size_t src_start, Chunk *dst, size_t dst_start, size_t n)
12 if (!Chunk_bounds_check(src, src_start, n)) return;
13 if (!Chunk_bounds_check(dst, dst_start, n)) return;
15 memcpy(dst->data + dst_start, src->data + src_start, n);
18 -int Chunk_bounds_check(Chunk *chunk, size_t start, size_t n)
20 - if (chunk == NULL) return 0;
22 - return start <= chunk->length && n <= chunk->length - start;